0

我正在使用谷歌地图 API v3。我的代码从 MySql 数据库中获取对象(名称、纬度、lng 和类型)并在地图上标记它们。这对我来说很好。但我想根据它们的类型制作不同的标记。所以这是我的标记选项:

var iconBaznycios = new google.maps.MarkerImage('http://labs.google.com/ridefinder/images/mm_20_blue.png');

var iconMuziejai = new google.maps.MarkerImage('http://labs.google.com/ridefinder/images/mm_20_red.png');

var customIcons = [];
customIcons["Baznycios"] = iconBaznycios;
customIcons["Muziejai"] = iconMuziejai;

这是我想传递我的标记数组的函数:

function addMarker(lat, lng, info, type) {

  var pt = new google.maps.LatLng(lat, lng);
  bounds.extend(pt);
  var marker = new google.maps.Marker({
             position: pt,
             icon: customIcons[type],
             map: map,

  });

也许这与php脚本中的这一行有关:

echo ("addMarker($lat, $lng,'<b>$name</b><br/> $type');\n");

任何想法如何使它按我的方式工作?

4

1 回答 1

0

我认为需要更改此 PHP 行:看起来引号放错了位置并且缺少逗号。

echo ("addMarker($lat, $lng,'<b>$name</b><br/>', '$type');\n");

根据我的经验,icon里面new google.maps.Marker只需要 URL。它只是更短,MarkerImage 也应该工作。

var customIcons = [];
customIcons["Baznycios"] = 'http://labs.google.com/ridefinder/images/mm_20_blue.png'
customIcons["Muziejai"] = 'http://labs.google.com/ridefinder/images/mm_20_red.png'
于 2012-05-22T22:26:51.120 回答