无法在谷歌 JS API V3 中查看地图圆圈叠加结果



在尝试进一步实现之前,我一直在Google Code Playground中对此进行测试。

这只是在地图上放置一个地图标记,并按以英里为单位的半径生成一个圆叠加。但是,我仍然无法使其工作。

它似乎在圆覆盖创建上中断。我一直在寻找解决方案,但到目前为止我尝试的所有方法要么中断(地图不显示),要么没有结果(没有圆圈叠加)。

注意:我遇到了一个类似的问题[问题:]谷歌地图V3 API js中的圆圈叠加。我尝试了这个解决方案,但它不起作用。

function initialize()
{
  if (GBrowserIsCompatible())
  {
    var map = new GMap2(document.getElementById("map_canvas"));
    map.setCenter(new GLatLng(30.6957, -88.1813), 13);

    var latlng = new GLatLng(30.6957, -88.1813);
    map.addOverlay(new GMarker(latlng));
    var draw_circle = null;
    function Draw_Circle(Miles)
    { 
      Miles *= 1600;
      if (draw_circle != null)
      {
        draw_circle.setMap(null);
      }
      draw_circle = new google.maps.Circle({
        center: latlng,
        radius: Miles,
        strokeColor: "#FF0000",
        strokeOpacity: 0.8,
        strokeWeight: 2,
        fillColor: "#FF0000",
        fillOpacity: 0.35,
        map: map
      });  
    }
    Draw_Circle(15);
  }
 }

提前再次感谢您。

编辑:现在我被告知我正在混合API版本。我想出了以下内容:

var latLng;
function initialize() {
  var map;
  var mapDiv = document.getElementById('map-canvas');
  map = new google.maps.Map(mapDiv, {
    center: new google.maps.LatLng(30.6957, -88.1813),
    zoom: 13,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  });
  latLng = new google.maps.LatLng(30.6957, -88.1813);
  var marker = new google.maps.Marker({
      position: latLng,
      map: map
    });
  var draw_circle = null;
  function Draw_Circle(Miles)     
  {        
    Miles *= 1600;        
    if (draw_circle != null)       
    {         
      draw_circle.setMap(null);       
    }       
    draw_circle = new google.maps.Circle({         
      center: latlng,         
      radius: Miles,         
      strokeColor: "#FF0000",         
      strokeOpacity: 0.8,         
      strokeWeight: 2,         
      fillColor: "#FF0000",         
      fillOpacity: 0.35,         
      map: map       
     });
  }      
  Draw_Circle(15);
}

我快到了...现在,我没有来自调试器的任何错误消息来表示我的圆圈覆盖有什么问题。

问题 1:您同时使用 Google Maps API V2 和 Google Maps API V3。

问题 2:在以下代码中

.....
draw_circle = new google.maps.Circle({         
  center: latlng,   
  .....

引发的错误是 ReferenceError: latlng is not defined

如果将latlng替换为 latLng ,脚本将按预期工作。

最新更新