Google maps api 3 如何通过单击在地面覆盖上添加标记?

Google maps api 3 如何通过单击在地面覆盖上添加标记?,google-maps-api-3,markers,Google Maps Api 3,Markers,我使用gmap2开发了一个地图应用程序。我使用了一个地面覆盖图(温度图)来帮助用户确定感兴趣的位置,然后点击选择。gmap2被gmap3替换后,停止工作。更大的问题是,我找不到通过点击gmap3在地面覆盖上添加标记的方法。有人提出了类似的问题,但目前还没有答案。我希望这样一个功能不会在gmap3中丢失。谢谢你的帮助 enter code here <script> var map; var mapCenter = new google.maps.LatLng(54.508742,

我使用gmap2开发了一个地图应用程序。我使用了一个地面覆盖图(温度图)来帮助用户确定感兴趣的位置,然后点击选择。gmap2被gmap3替换后,停止工作。更大的问题是,我找不到通过点击gmap3在地面覆盖上添加标记的方法。有人提出了类似的问题,但目前还没有答案。我希望这样一个功能不会在gmap3中丢失。谢谢你的帮助

enter code here

<script>
var map;
var mapCenter = new google.maps.LatLng(54.508742, -125.120850);
var pngBounds = new google.maps.LatLngBounds(new google.maps.LatLng(48.3367, -139.0402), 
                    new google.maps.LatLng(59.99008, -114.1095));

function initialize() {
     var mapProp = { center: mapCenter, zoom: 5, mapTypeId: google.maps.MapTypeId.ROADMAP };
     map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
     var groundoverlay = new google.maps.GroundOverlay(
        "http://www.genetics.forestry.ubc.ca/cfcg/ClimateBC40/overlays/climate/MAT_1961_1990.png", pngBounds);
     groundoverlay.setMap(map);
     google.maps.event.addListener(map, 'click', function (event) { placeMarker(event.latLng); });
}

    function placeMarker(location) {
    var marker = new google.maps.Marker({ position: location, map: map, draggable: true });
}

    google.maps.event.addDomListener(window, 'load', initialize);
</script> 
在此处输入代码
var映射;
var mapCenter=new google.maps.LatLng(54.508742,-125.120850);
var pngBounds=new google.maps.LatLngBounds(new google.maps.LatLng(48.3367,-139.0402)),
新google.maps.LatLng(59.99008,-114.1095));
函数初始化(){
var mapProp={center:mapCenter,zoom:5,mapTypeId:google.maps.mapTypeId.ROADMAP};
map=new google.maps.map(document.getElementById(“googleMap”),mapProp);
var groundoverlay=new google.maps.groundoverlay(
"http://www.genetics.forestry.ubc.ca/cfcg/ClimateBC40/overlays/climate/MAT_1961_1990.png“,pngBounds);
groundoverlay.setMap(地图);
google.maps.event.addListener(映射,'click',函数(event){placeMarker(event.latLng);});
}
功能位置标记(位置){
var marker=new google.maps.marker({position:location,map:map,draggable:true});
}
google.maps.event.addDomListener(窗口“加载”,初始化);

在v3中,您必须使
地面覆盖层不可点击

var groundoverlay = new google.maps.GroundOverlay(
    "http://www.genetics.forestry.ubc.ca/cfcg/ClimateBC40/overlays/climate/MAT_1961_1990.png", pngBounds, **{clickable:false}**);

在v3中,您必须使
groundOverlay
不可单击

var groundoverlay = new google.maps.GroundOverlay(
    "http://www.genetics.forestry.ubc.ca/cfcg/ClimateBC40/overlays/climate/MAT_1961_1990.png", pngBounds, **{clickable:false}**);

使用下面的代码就这么简单

let overlayGeoMapImg = new google.maps.GroundOverlay(
  '../assets/GNDVI.png',
  imageBounds);
  overlayGeoMapImg.setMap(map);

google.maps.event.addListener(overlayGeoMapImg, 'click', (event: any) => {
    this.ngZone.run(() => {
      marker = new google.maps.Marker({
        position: event.latLng,
        map: map,
        title: 'Hello World!'
      });
    });
  });

使用下面的代码就这么简单

let overlayGeoMapImg = new google.maps.GroundOverlay(
  '../assets/GNDVI.png',
  imageBounds);
  overlayGeoMapImg.setMap(map);

google.maps.event.addListener(overlayGeoMapImg, 'click', (event: any) => {
    this.ngZone.run(() => {
      marker = new google.maps.Marker({
        position: event.latLng,
        map: map,
        title: 'Hello World!'
      });
    });
  });

你的代码看起来像什么?代码已经添加到上面了你的代码看起来像什么?代码已经添加到上面了