0

我正在尝试使用各种形状和颜色的自定义标记图标创建地图。我的代码可以正常工作,这样我就可以对所有位置使用任何单个标记,但不能对不同位置使用不同的标记。我目前正在将其编程到 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,我只会得到一张没有任何内容的地图。

任何帮助将不胜感激!

扎克

4

1 回答 1

0

尝试这个:

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
  });
}
于 2013-07-15T18:44:57.233 回答