event.latLng和.getPath()返回地图中心的坐标

时间:2013-10-18 20:40:53

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

我正在使用Google Maps Javascript API v3进行一个项目,我看到一些非常令人费解的输出到控制台。

我像这样初始化地图:

function initialize() {
var map = new google.maps.Map(document.getElementById("map-canvas"), {
    center: new google.maps.LatLng(41.790113, -87.600732),
    zoom: 18,
    mapTypeId: google.maps.MapTypeId.ROADMAP
});

然后,稍后(但仍在initialize内),我有:

function addTimestampToLatLng(event) {
    if (google.maps.geometry.poly.isLocationOnEdge(event.latLng, userPolyline, 0.000001)) {
        var marker = new google.maps.Marker({
            position: event.latLng,
            title: '#' + userPolyline.getPath().getLength(),
            map: map,
            draggable: true
        });
        console.log(event.latLng);
        console.log(userPolyline.getPath());
        console.log(twoClosestPointsOnPolyline(event.latLng, userPolyline));
    }
}

由事件监听器调用:

google.maps.event.addListener(map, 'click', addTimestampToLatLng);

奇怪的是,打印到控制台的每个坐标都是相同的坐标 - 磅:41.79021883761604,mb:-87.60098531842232 - 地图的中心。奇怪的是,除了我尝试打印到控制台之外,代码在各方面都能完美运行。

有什么想法吗?

0 个答案:

没有答案