把我自己的图像作为标记而不是针标记

时间:2011-05-16 15:22:58

标签: javascript google-maps

我想把我的标记引脚用于此代码:

  var map = new GMap2(document.getElementById("map-canvas"));
  map.addControl(new GLargeMapControl());
  map.addControl(new GMapTypeControl());
  map.setCenter(new GLatLng(<?=$lat;?>,<?=$lng;?>), 6);

  var point = new GLatLng(<?=$lat;?>,<?=$lng;?>);
  var marker = createMarker(point,'Welcome:<b></b><br>Second Info Window with an image<br><img src="http://localhost/gps/user_photo/" width=80 height=80>')
  map.addOverlay(marker);

  function createMarker(point,html) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
        return marker;
      }

我该怎么办??????

2 个答案:

答案 0 :(得分:5)

Google Maps V3 API(确保您只使用它 - 您似乎使用V2 API!)有一个很好的documentation - 请确保将此书签,您需要它。

有很多JavaScript samplesHere是构建自定义标记的示例。

另请查看Demo Gallery以获取高级应用程序。

答案 1 :(得分:0)

我同意您不应该使用API​​ v2,但如果您出于某种原因必然会使用它,您可以通过创建GIcon并将其分配给标记来使用您自己的图片,即< / p>

var mIcon = new GIcon();
mIcon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
mIcon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
mIcon.iconSize = new GSize(12, 20);
mIcon.shadowSize = new GSize(22, 20);
mIcon.iconAnchor = new GPoint(6, 20);
mIcon.infoWindowAnchor = new GPoint(5, 1);

GIcon他们名字的属性应该是非常自我解释的;有图像文件,它们的大小,然后是两个锚点 - 一个指定图像将粘贴到地图的位置,另一个指定信息窗口将附加到标记的位置。

创建标记时,将图标作为参数传递并将其指定给标记,以便

function createMarker(point,html) {
    var marker = new GMarker(point);

变为

function createMarker(point, mIcon, html) {
    var markerOptions = {icon: mIcon};
    var marker = new GMarker(point, markerOptions);

这应该照顾生意。