Jquery 无法从外部初始化脚本加载Google Map lat/long坐标
请查看代码设置,该设置一切正常 我正在一个房地产网站上工作,该网站使用了完全相同的自适应地图解决方案,但我在该网站上有许多页面需要地图(属性详细信息页面),因此我需要一种方法,在每个属性详细信息页面中嵌入lat/long坐标,并让外部Jquery 无法从外部初始化脚本加载Google Map lat/long坐标,jquery,google-maps-api-3,Jquery,Google Maps Api 3,请查看代码设置,该设置一切正常 我正在一个房地产网站上工作,该网站使用了完全相同的自适应地图解决方案,但我在该网站上有许多页面需要地图(属性详细信息页面),因此我需要一种方法,在每个属性详细信息页面中嵌入lat/long坐标,并让外部initialize()脚本拾取它,但我无法使其工作 我在initialize()脚本中添加了2个lat/longvar: function initialize(lat, long) { var myLatlng = new google.maps.Lat
initialize()
脚本拾取它,但我无法使其工作
我在initialize()
脚本中添加了2个lat
/long
var:
function initialize(lat, long) {
var myLatlng = new google.maps.LatLng(lat, long);
然后在需要地图的页面上,我尝试了以下方法:
<script>
window.onload = function() {
if (typeof(map) != 'undefined') {
initialize(-33.867487,151.20699);
}
}
</script>
文件的内容通过jQueryload()
:/includes/modules/adaptive google map/js.php导入:
<div id="map_canvas"></div>
<script>
//function initialize() {
function initialize(lat, long) {
var myLatlng = new google.maps.LatLng(lat, long);
//var myLatlng = new google.maps.LatLng(-33.867487, 151.20699);
var myOptions = {
zoom: 15,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
scrollwheel: false
}
map = new google.maps.Map(document.getElementById('map_canvas'), myOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
animation: google.maps.Animation.DROP
});
// Center Google Maps on browser resize (https://stackoverflow.com/questions/8792676/center-google-maps-v3-on-browser-resize-responsive)
var center;
function calculateCenter() {
center = map.getCenter();
}
google.maps.event.addDomListener(map, 'idle', function() {
calculateCenter();
});
google.maps.event.addDomListener(window, 'resize', function() {
map.setCenter(center);
});
}
</script>
//函数初始化(){
函数初始化(横向、纵向){
var mylatng=new google.maps.LatLng(lat,long);
//var mylatng=new google.maps.LatLng(-33.867487151.20699);
变量myOptions={
缩放:15,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.ROADMAP,
滚轮:错误
}
map=new google.maps.map(document.getElementById('map\u canvas'),myOptions);
var marker=new google.maps.marker({
职位:myLatlng,
地图:地图,
动画:google.maps.animation.DROP
});
//在浏览器上居中调整Google地图的大小(https://stackoverflow.com/questions/8792676/center-google-maps-v3-on-browser-resize-responsive)
var中心;
函数calculateCenter(){
center=map.getCenter();
}
google.maps.event.addDomListener(映射'idle',函数(){
计算中心();
});
google.maps.event.addDomListener(窗口,“调整大小”,函数(){
地图设置中心(中心);
});
}
如果我在上面的
initialize()
脚本(注释掉的行)中硬编码lat/long坐标,一切都正常,那是在我试图从插入映射的页面中传入lat
/long
var时,我无法完成的操作。我想出来了,我需要从这里删除var:
function initialize(lat, long) {
所以就是这个,
function initialize() {
var myLatlng = new google.maps.LatLng(lat, long);
然后在使用地图的页面上使用这个内联JS:
<script>
var lat = 53.43072,
long = -3.049134;
</script>
var lat=53.43072,
长=-3.049134;
要让Google Maps进行初始化,您需要做的不仅仅是创建一个LatLng对象,您可以发布该函数的其余部分吗?有关整个代码设置(上面的链接),请参阅我的其他问题,包括initialize()
脚本。
<script>
var lat = 53.43072,
long = -3.049134;
</script>