GoogleMaps SDK Cordova距离像素?

时间:2016-07-04 16:33:24

标签: cordova google-maps google-maps-api-3 google-maps-sdk-ios

我正在使用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]);
                    });
                }
        };

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