谷歌地图显示为灰色框
Posted
技术标签:
【中文标题】谷歌地图显示为灰色框【英文标题】:Google map showing as gray box 【发布时间】:2012-04-17 22:34:07 【问题描述】:我正在为一个 drupal 站点开发这个应用程序。使用来自 api 站点的示例,我得到的地图可以与固定 javascript 的硬连线 html 一起正常工作。但是我确实需要使用ajax,并且具有相同数据的ajax函数只显示灰色框。
使用 alert() 我已经确认数据通过 ajax 调用正确进入函数,地图中心和缩放也是如此。一个关键区别是硬连线 html 在标签中使用了一个 onload="fcn()" 根据谷歌的例子,但我似乎需要在我的 . js文件而不是没有定义函数。当我尝试使用该函数时,它从未被触发。这段代码需要使用函数吗?诚然我没有很多javascript经验。这是我的js。第一行data 有一些参数,第二个是纬度,第三个是经度,最后一个是标记标题。
PS - 不知道为什么我不能得到最后一组 );显示在代码框中。
jQuery(document).ready(function()
jQuery.get('http://www.example/get_customer_geo', function(result)
var rows = result.split(';');
var parms = rows[0].split(',');
var midlat = parseFloat(parms[0]);
var midlon = parseFloat(parms[1]);
var LatlngCtr = new google.maps.LatLng(midlat,midlon);
var zoomval = parms[2];
var latitude = rows[1].split(',');
var longitude = rows[2].split(',');
var titles = rows[3].split(',');
var myLatlng = new Array();
var marker = new Array();
for (i=0; i<latitude.length; i++)
myLatlng[i] = new google.maps.LatLng(parseFloat(latitude[i]),parseFloat(longitude[i]));
var myOptions =
zoom: zoomval,
center: LatlngCtr,
mapTypeId: google.maps.MapTypeId.ROADMAP
var map = new google.maps.Map(document.getElementById("map_terr"), myOptions);
for (i=0; i<latitude.length; i++)
marker[i] = new google.maps.Marker(
position: myLatlng[i],
map: map,
title: titles[i]
);
);
);
【问题讨论】:
【参考方案1】:我也不能使用<Body onload=“initialize()”>
。我离开了股票function initialize ()
,只是将此侦听器添加为我的地图脚本的最后一部分google.maps.event.addDomListener(window, "load", initialize);
【讨论】:
我尝试用函数声明替换我的“jQuery(document).ready(function() ”并添加你的监听器。我得到了相同的行为。我可以显示数组和 MyOptions,但我想知道是否有办法确认地图实例已正确实例化。 您是否在 Firebug 中查看过是否有任何错误?【参考方案2】:我通过确保定义地图坐标解决了同样的问题。我的地图显示为灰色的原因是浏览器没有提供地理位置信息。我为 lat 和 long 设置了默认值,现在地图出现了。
【讨论】:
以上是关于谷歌地图显示为灰色框的主要内容,如果未能解决你的问题,请参考以下文章