当我使用这段代码

<li latlon="58.55801847109299,11.244826413745159" class="point_on_map">Boviken, Hamburgö</li>


和这个jQuery代码:

$('.point_on_map').click(function(){
    var b = new google.maps.LatLng($(this).attr('latlon'));
    map.setCenter(b);
});


当我单击时,中心为蓝色,标记位于左上角,不可拖动...
有什么问题吗?

最佳答案

当您需要将两个字符串传递给LatLng时,您实际上在做什么。 JavaScript不会解释latlon属性中的逗号,它只是被视为字符串的一部分。

您需要将58.55801847109299,11.244826413745159分为两个变量(例如58.5580184710929911.244826413745159),并将它们分别传递给LatLng。例如

var latlon = $(this).attr('latlon');
var latlon_array = latlon.split(',');
var lat = latlon_array[0];
var lon = latlon_array[1];
var b = new google.maps.LatLng(lat,lon);


那是未经测试的代码,但希望您能理解。

09-25 19:06