我是使用 google maps api 的新手,我已经坚持了一段时间。我四处搜索,找不到太多关于发生这种情况的原因。
问题似乎出在这个请求上: http://maps.googleapis.com/maps/api/js/AuthenticationService.Authenticate ?1shttp%3A%2F%2Flocalhost%2FjQUeryMobile%2FHome%2FContact&callback=xdc._g5hc9f&token=122839
粗体部分明显有问题。此参数似乎未正确构建。
不过我对此没有任何控制,这都是由 map 的东西完成的。
这是包含 map 脚本的代码:
<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 无法处理在本地主机上运行的情况吗?任何人都如何进行测试?
编辑:进一步调查,我查看了一些示例的请求。 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] )
我最初认为这是请求 URL 错误的乱码 b/c。但似乎并非如此。
更多信息:
在 IE 中运行时,运行脚本调试:此行失败:
编辑:更多信息:
在IE中运行,脚本调试。我在这一行收到一个错误:
geoCoder = new GClientGeocoder();
错误是:
'GClientGeocoder' is undefined
因此:来自 maps api 的某些内容并没有按照看起来的方式加载。
最佳答案
您将需要发布比这更多的代码。发布包含您的 map 的 div。
GClientGeocoder 函数不会将 map 插入您的页面。事实上,它做的事情完全不同(输入一个地址,它会返回纬度/经度)。
使用本教程从简单的 Google map 开始。
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
关于javascript - 本地主机问题上的 Google Maps API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8233156/