0

Google MapsAPIv3を使用しています。私のコードは、MySqlデータベースからオブジェクト(name、lat、lng、およびtype)を取得し、それらをマップ上にマーカーで示します。それは私にとってはうまくいきます。しかし、タイプに応じて異なるマーカーを作成したいと思います。これが私のマーカーオプションです:

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 に答える