Очень странная ошибка с Google Maps API v3? - PullRequest
1 голос
/ 19 августа 2011

В google maps api v3 работает следующая строка:

var myLatlng = new google.maps.LatLng(50.082243,24.302628);

Но следующее не работает:

var gpsPos = '50.082243,24.302628';
var myLatlng = new google.maps.LatLng(gpsPos);

Как странно, а еще лучше, какэто исправить?

Вот полный код:

$("document").ready(function(){
   var script = document.createElement("script");
   script.type = "text/javascript";
   script.src = "http://maps.google.com/maps/api/js?sensor=false&region=SK&callback=initialize";
   document.body.appendChild(script);
});

function initialize(){
   var gpsPos = '50.082243,24.302628';
   var myLatlng = new google.maps.LatLng(gpsPos);

   var myOptions = {
      zoom: 7,
      center: myLatlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      panControl: false,
      zoomControl: true,
      mapTypeControl: true,
      scaleControl: false,
      streetViewControl: false,
      scrollwheel: false
   }

   var map = new google.maps.Map(document.getElementById("otvorena-aukcia-mapa"), myOptions);

   var marker = new google.maps.Marker({
      position: myLatlng, 
      map: map
   });
}

1 Ответ

5 голосов
/ 19 августа 2011

Согласно документам вы не можете передать строку вообще.

Вам придется явно разделить две части и передать их в виде чисел:

var gpsPos = '50.082243,24.302628';
var splitted = gpsPos.split(",");
var myLatlng = new google.maps.LatLng(splitted[0] - 0, splitted[1] - 0); 
// '- 0' will automatically make it a number
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...