Google Maps setCenter(), v3, при нажатии на элемент, с помощью jQuery

#javascript #jquery #google-maps #google-maps-api-3

#javascript #jquery #google-карты #google-maps-api-3

Вопрос:

Когда я использую этот код

 <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);
});
  

И когда я нажимаю, центр отображается синим цветом, а маркер находится в левом верхнем углу, и его нельзя перетаскивать…
Что не так?

Ответ №1:

Что вы на самом деле делаете, так это передаете одну строку в LatLng , когда вам нужно передать две. Эта запятая в latlon атрибуте интерпретируется JavaScript не так, как вы думаете, она просто рассматривается как часть строки.

Вам нужно разделить ваши 58.55801847109299,11.244826413745159 на две переменные (например, 58.55801847109299 и 11.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);
  

Это непроверенный код, но, надеюсь, вы поняли идею.