0

我正在尝试从变量中获取纬度和经度,但我一直在获取Unexpected token ,. 我试过使用var coordinates = 59.328615,13.485699var coordinates = '59.328615,13.485699'但我只得到了同样的错误。现在我没有想法了。怎么了?!

var coordinate_latitude = 59.328615;
var coordinate_longitude = 13.485699;
var marker;
var gm_map;

function initialize() {
    var latlong = new google.maps.LatLng(coordinate_latitude, coordinate_longitude);

    var googlemaps_options = {
        zoom: 18,
        minZoom: 4,
        maxZoom: 18,
        center: latlong,
        mapTypeId: google.maps.MapTypeId.SATELLITE,
        streetViewControl: false
    }

    gm_map = new google.maps.Map(document.getElementById('google-maps'), googlemaps_options);

    marker = new google.maps.Marker({
        position: latlong,
        draggable: true,
        map: gm_map
    });
}


$(document).ready(function() {

    // INITIERA GOOGLE MAPS
    initialize();

});

提前致谢。

4

3 回答 3

2

不要使用 ready 函数来初始化地图。渲染页面后,需要在加载事件中完成。如果我删除 jquery 并改为这样做,它对我来说很好:

google.maps.event.addDomListener(window, 'load', initialize);

工作示例

于 2012-11-02T17:07:47.477 回答
0

var coordinates = 59.328615,13.485699不是有效的 JS。它应该是这样的:

var coordinate_latitude = 59.328615, coordinate_longitude = 13.485699;

但是,您报告的错误消息与您发布的代码没有任何关系(正如 alestanis 所指出的)。您当前的代码不应该出错,或者如果出错,它必须是与您在问题中提到的不同的错误消息。

于 2012-11-02T16:55:13.750 回答
0

感谢Dr.Molle,我得到了它的工作。geocodezip 也有正确的答案,但我会使用 Dr.Molles 解决方案(initialize();$(document(ready(function() { ...)。这是工作代码

于 2012-11-02T18:06:14.023 回答