我是使用谷歌地图api的新手,我已经坚持了一段时间了。我四处搜索,但却找不到为什么会发生这种情况。
问题似乎与此请求有关: http://maps.googleapis.com/maps/api/js/AuthenticationService.Authenticate的 1shttp%3A %2F%2Flocalhost%2FjQUeryMobile%2FHome%2FContact&安培;回调= XDC ._ g5hc9f&安培;标记= 122839
大胆的部分显然是个问题。此参数似乎没有正确构建。
我对此没有任何控制权,这都是由地图的东西完成的。
这是包含地图脚本的行:
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&sensor=false&callback=initializeGeoCoder"></script>
function initializeGeoCoder(){
alert('initialize');
geoCoder = new GClientGeocoder();
}
有趣的是,该警报确实会触发,但之后没有任何反应。
可能有关我的设置的重要细节:
我在Windows 7上本地运行iis。该项目是一个.net 3.5 mvc 2.0项目。使用jquery和jquery mobile。
我在FF,Chrome,safari和IE中尝试过它。
是不是api无法处理在localhost上运行的情况?怎么做任何测试?
编辑:进一步研究这个,我查看了一些样本的请求。 http://code.google.com/apis/maps/documentation/javascript/examples/map-simple.html返回:
_xdc_._56yxp && _xdc_._56yxp( [1,null,0] )
我的回报:
_xdc_._10kda1 && _xdc_._10kda1( [1,null,0] )
我原本以为这是请求网址不好的乱码b / c。但似乎情况可能并非如此。
更多信息:
在IE中运行时,脚本调试正在运行:此行失败:
编辑:更多信息:
在IE中运行时,脚本调试。我在这一行上收到错误:
geoCoder = new GClientGeocoder();
错误是:
'GClientGeocoder'未定义
所以:来自地图api的东西并没有像往常一样被加载。
答案 0 :(得分:3)
您需要发布更多代码。发布包含地图的div。
GClientGeocoder函数不会在您的页面中插入地图。事实上,它做了一些完全不同的事情(输入一个地址,它将返回lat / long)。
使用本教程从简单的Google地图开始。
http://code.google.com/apis/maps/documentation/javascript/tutorial.html
编辑:如果您尝试使用地理编码,则Google Maps API的V3会命名函数geocode()而不是GClientGeocoder()。查看此演示的源代码:http://code.google.com/apis/maps/documentation/javascript/examples/geocoding-simple.html