在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®ion=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
});
}
答案 0 :(得分:5)
根据docs,您根本无法传递字符串。
您必须明确拆分这两个部分并将其作为数字传递:
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