【问题标题】:Google Maps API Custom MarkersGoogle Maps API 自定义标记
【发布时间】:2013-07-15 18:30:59
【问题描述】:

我正在尝试使用各种形状和颜色的自定义标记图标创建地图。我的代码可以正常工作,这样我就可以对所有位置使用任何单个标记,但不能对不同位置使用不同的标记。我目前正在将其编程到 FileMaker Pro 解决方案中,但是我正在用 Javascript 编写代码。我是 Javascript 新手,边走边学,但以下是我目前拥有的代码:

var concus = 'Dropbox/FileMaker Pro Files/FileMaker Pro Contract Bid Files/Images/red_customer.png';
var rencus = 'Dropbox/FileMaker Pro Files/FileMaker Pro Contract Bid Files/Images/purple_customer.png';
var sercus = 'Dropbox/FileMaker Pro Files/FileMaker Pro Contract Bid Files/Images/green_customer.png';
var connon = 'Dropbox/FileMaker Pro Files/FileMaker Pro Contract Bid Files/Images/red_noncustomer.png';
var rennon = 'Dropbox/FileMaker Pro Files/FileMaker Pro Contract Bid Files/Images/purple_noncustomer.png';
var sernon = 'Dropbox/FileMaker Pro Files/FileMaker Pro Contract Bid Files/Images/green_noncustomer.png';

var imagenum;

var markers = [];
for (var i = 0; i < data.length; ++i) {
  var latlng = new google.maps.LatLng(data[i].latitude, data[i].longitude);
  var marker = new google.maps.Marker({position: latlng, map: map, icon: markerimage[i], title:data[i].label, info:data[i].info});

  markers.push(marker);
}

“icon:”之后的“markerimage”是从我的数据库中存储值“concus, rencus, sercus...etc”的数组。如果我将“markerimage”替换为任何特定的,则脚本可以工作并向我显示一张包含所有位置的地图。如果我使用 markerimage,我只会得到一张没有任何内容的地图。

任何帮助将不胜感激!

扎克

【问题讨论】:

  • 我正在尝试为不同的位置使用不同的标记,而不是为多个位置使用相同的标记。
  • 你看到那个例子的答案了吗?每个标记都有不同的图标。或者您所说的“不同位置的不同标记”是指不同的东西?

标签: google-maps-api-3 google-api google-maps-markers


【解决方案1】:

试试这个:

var iconBase = 'Dropbox/FileMaker Pro Files/FileMaker Pro Contract Bid Files/Images/';

var icons = {
  concus: {
    icon: iconBase + 'red_customer.png'
  },
  rencus: {
    icon: iconBase + 'purple_customer.png'
  },
  sercus: {
    icon: iconBase + 'green_customer.png'
  },
  connon: {
    icon: iconBase + 'red_noncustomer.png'
  },
  rennon: {
    icon: iconBase + 'purple_noncustomer.png'
  },
  sernon: {
    icon: iconBase + 'green_noncustomer.png'
  }
};


function addMarker(feature) {
  var marker = new google.maps.Marker({
    position: feature.position,
    icon: icons[feature.type].icon,
    map: map
  });
}

【讨论】:

  • 我想我明白你做了什么,但是我有一个关于“feature.type”的问题“concus, rencus...etc”会去哪里?或者循环计数器会去哪里?
  • jsfiddle.net/j7Cyu 开头的真正大数组存储了单击标记时信息窗口的纬度、经度和标签信息
猜你喜欢
  • 1970-01-01
  • 2017-04-10
  • 2014-02-25
  • 2012-02-08
  • 2019-03-09
  • 1970-01-01
  • 2018-09-10
  • 1970-01-01
  • 2011-05-09
相关资源
最近更新 更多