我正在使用cordova上的谷歌地图sdk。 我在屏幕左上角的lat / lng位置和像素屏幕中一个点的位置。 我想在lat / lng中找到这一点的位置。
为此,我想知道根据缩放地图级别转换lat中的1px和lng中的1px。
你知道怎么做吗? 非常感谢你。
更新代码:
$("#icon").draggable({
helper : 'clone',
stop:function(event,ui) {
var wrapper = $("#container-emote").offset();
var borderLeft = parseInt($("#container-emote").css("border-left-width"),10);
var borderTop = parseInt($("#container-emote").css("border-top-width"),10);
var pos = ui.helper.offset();
$scope.createEmote(pos.left - wrapper.left - borderLeft + 40, -(pos.top - wrapper.top - borderTop)+185,2 );
}
});
$scope.createEmote = function(a,b,c) {
var height = screen.height;
b = height - b;
map.fromPointToLatLng([a, b], function (point) {
alert('lat' + point[0] + ' lng:' + point[1]);
});
};
解决方案:
实际上a和b在发布时NaN,这里是决赛:
$scope.createEmote = function(a,b,c) {
var height = screen.height;
b = height - b;
if (!isNaN(a) && !isNaN(b)){
map.fromPointToLatLng([a , b], function (point) {
console.log('mousedown lat' + point[0] + ' lng:' + point[1]);
});
}
};
答案 0 :(得分:1)
我认为这与我在评论中链接的早期问题重复。但是,由于您正在使用Cordova,因此会稍微改变一下。
如果您正在使用this Cordova Google Maps plugin,请查看此处所述的fromPointToLatLng()
:
https://github.com/mapsplugin/cordova-plugin-googlemaps/wiki/Map
https://github.com/mapsplugin/cordova-plugin-googlemaps/wiki/Map.fromPointToLatLng