为什么标记位置对象更改了纬度和经度属性名称

时间:2014-09-30 08:00:45

标签: javascript api google-maps properties position

我在移动应用中使用Google Maps JavaScript API。 当我第一次实现gmaps api时,标记位置对象有两个属性: position.k(纬度)和 position.A (经度)。几个月左右后,物业变成了 position.k(纬度)和 position.B (经度)。我不是在做梦,我非常确定它之前的经验是 position.A 。我测试了它。

function saveNewGeoLocation() {
	var position=zx.currentMarker.getPosition();
    $.getJSON("/Serv.svc/UpdateGeoLocation?" + $.param({ latitude: position.k, longitude: position.B, someotherparam:"somevalue" }), function (data) {
        //some other code
    });
}

chrome console capture

Google是否screwing与我们合作?

2 个答案:

答案 0 :(得分:4)

不要使用Google Maps API的未记录属性,它们可以并且会随着每个版本而改变。

使用记录的属性和方法,google.maps.LatLng object是:

  • lat()|号码|以度为单位返回纬度。
  • lng()|号码|以度为单位返回经度。
function saveNewGeoLocation() {
    var position=zx.currentMarker.getPosition();
    $.getJSON("/Serv.svc/UpdateGeoLocation?" + $.param({ latitude: position.lat(), longitude: position.lng(), someotherparam:"somevalue" }), function (data) {
        //some other code
    });
}

答案 1 :(得分:1)

来自Google Maps Javascript API:class LatLng首先是lat:number,然后是lng:number。

你使用的是getPosition(),返回值是LatLng。