谷歌地图api v3的point.x替代品

时间:2013-11-01 08:53:59

标签: google-maps google-maps-api-3

这是我正在处理的代码的一部分:(此遗留代码使用多边形路径绘制Circle:

    GEvent.addListener(bigmap_rad, 'click', function(overlay, cpoint) {

        var radius = document.getElementById('circle_radius').value;             
         var c_center = new GLatLng(cpoint.y,cpoint.x);
        var c_marker = new GMarker(c_center);
        var latOffset = 0.01;
        var lonOffset = 0.01;
        var latConv = c_center.distanceFrom(new GLatLng(c_center.lat()+0.1, c_center.lng()))/100;
       var lngConv = c_center.distanceFrom(new GLatLng(c_center.lat(), c_center.lng()+0.1))/100; 
        // nodes = number of points to create polygon
        var nodes = 40;
        // Create an array of points
       var cpoints = [];
       var pointbegain     = null;
        // set the amount of steps from node
       var step = parseInt(360/nodes);
        // the for loop creates a series of points that define the circle, counting by the amount of steps, by 9 in the case of 40 nodes
       for(var i=0; i<=360; i+=step){
        var point1 = new GLatLng(c_center.lat() + (radius / latConv * Math.cos(i * Math.PI / 180)), 
        c_center.lng() + (radius / lngConv * Math.sin(i * Math.PI / 180)));
         if(i==0){
           pointbegain= point1;
        }    

        cpoints.push(point1);
    }
    //cpoints.push(pointbegain);
    polygon = new GPolygon(cpoints, "#000000", 1, 1, "#8000000", 0.5);
    //bigmap_rad.addOverlay(polygon);

(此处bigmap_rad是谷歌地图v2地图对象,cpoint传递给该事件监听器)

我正在使用此谷歌地图v2代码将其转换为v3。但偶然发现了这个

var c_center = new GLatLng(cpoint.y,cpoint.x);

我找不到这个cpoint.y和cpoint.x替代google map api v3。请有人建议我解决方案。提前谢谢。

3 个答案:

答案 0 :(得分:1)

我想我得到了一个解决方案。刚用过这个

var c_center = new google.maps.LatLng(event.latLng.lat(),event.latLng.lng());

取代

var c_center = new GLatLng(cpoint.y,cpoint.x);

答案 1 :(得分:1)

我有类似的问题并通过用lat()和lng()替换x和y来解决它。

这将使您的代码成为。

var c_center = new google.maps.LatLng(cpoint.lat(),cpoint.lng());

也许这本来有用,是一个帮助我的快速解决方法。

答案 2 :(得分:0)

好的,所以你需要在地图上有一个事件监听器来获得点击。而你想要找出被点击的点。

google.maps.event.addListener(map, 'click', function(event) {       
  console.log(event.latLng);

  var yourCoordinates = event.latLng;
});

请参阅https://developers.google.com/maps/documentation/javascript/events#EventArguments