Javascript 在运行时通过传递Div来呈现GoogleMap
我有一个函数,在这个函数中,我传递一个页面的div,GoogleMap将显示在页面显示器上。Div ID是正确的,但是当GoogleMap要显示Map时,下面给出的是错误的Javascript 在运行时通过传递Div来呈现GoogleMap,javascript,google-maps,Javascript,Google Maps,我有一个函数,在这个函数中,我传递一个页面的div,GoogleMap将显示在页面显示器上。Div ID是正确的,但是当GoogleMap要显示Map时,下面给出的是错误的 <a data-transition="slide" onclick="showGoogleMap('AusMapDiv','#AustpaymentLocationsPage','151.209349','-33.840835')">Australia</a> var myLatitude ,
<a data-transition="slide" onclick="showGoogleMap('AusMapDiv','#AustpaymentLocationsPage','151.209349','-33.840835')">Australia</a>
var myLatitude , myLongitude , pagediv ;
function showPosition(position) {
var myCenter = new google.maps.LatLng(myLatitude, myLongitude);
var mapProp = { center : myCenter, zoom : 5, mapTypeId : google.maps.MapTypeId.ROADMAP };
var map = new google.maps.Map( pagediv , mapProp);
var marker = new google.maps.Marker({ position : myCenter });
marker.setMap(map);
}
function showGoogleMap(pgdiv, locpage, logit, lati) {
myLongitude = logit;
myLatitude = lati;
pagediv = pgdiv;
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition, function(){
console.log("Error while showing GoogleMap"); });
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
$.mobile.changePage(locpage , { transition: "slide"});
}
澳大利亚
var myLatitude,myLongitude,pagediv;
功能显示位置(位置){
var myCenter=new google.maps.LatLng(myLatitude,myLongitude);
var mapProp={center:myCenter,zoom:5,mapTypeId:google.maps.mapTypeId.ROADMAP};
var map=newgoogle.maps.map(pagediv,mapProp);
var marker=new google.maps.marker({position:myCenter});
marker.setMap(map);
}
功能显示谷歌地图(pgdiv、locpage、logit、lati){
我的长度=对数;
麦拉度=纬度;
pagediv=pgdiv;
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(showPosition,function(){
log(“显示谷歌地图时出错”);});
}否则{
x、 innerHTML=“此浏览器不支持地理位置。”;
}
$.mobile.changePage(locpage,{transition:“slide”});
}
如果pgdiv
是包含地图的div的id,则该行:
var map = new google.maps.Map( pagediv , mapProp);
应改为:
var map = new google.maps.Map( document.getElementById(pagediv), mapProp);
Map()
构造函数的规范:
Map(mapDiv:Node, opts?:MapOptions)
其中,
mapDiv
是DOM元素,而不是div
元素的id。似乎您传递的是字符串,而不是lat/lng值的数字。最好在函数LatLng()中使用parseFloat()将字符串更改为数字。它们正在工作,我在以编程方式提供div之前尝试过。是的,正确,它工作了……这意味着Map API需要一个元素,而不是渲染图像的元素名。