将我自己的图像作为标记而不是引脚标记

put my own image as marker instead of pin mark

本文关键字:引脚 我自己 自己的 图像      更新时间:2023-09-26

我想为这段代码放置我的标记图钉:

  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;
      }

我该怎么做?????

Google Maps V3 API(确保你只使用它 - 你似乎使用了V2 API!) 有一个很好的文档 - 确保你把它收藏起来,你会需要它。

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

另请查看高级应用程序的演示库。

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

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);

这应该照顾到生意。