我在生产框中收到此错误消息:
The Google Maps API server rejected your request. The "sensor" parameter specified in the request must be set to either "true" or "false".
当浏览器点击时:
<script type="text/javascript" src="http://maps.google.com/maps?file=api&v=2&key=mykey&sensor=true">
我看到浏览器调用:
http:// maps . google . com /maps?file=api&v=2&key=mykey&sensor=true
然后它向我显示错误消息。
我复制它所点击的网址并将其粘贴到浏览器中,它会下载正确的 js,而不是带有警报消息的 js。
我创建了一个示例页面并在本地开发盒和测试服务器中对其进行了测试;它呈现出美妙的效果。 测试盒:http://www.probit.co/Prototypes/GPS/MapTest.html
我将完全相同的文件放入生产框中,它向我抛出消息。 生产盒:http://www.hondutrack.com/rastreo/MapTest.html
为什么它在生产中不起作用?
最佳答案
回答我自己的问题:
尽管该消息显示传感器参数存在一些问题,但我得出的结论是,这是一个域问题,是 Google map 服务的某种禁令。
就像上面详细介绍的那样,渲染 map 的完全相同的 html 被放置在三个不同的域中,所有域都按预期工作,但生产域除外。我用fiddler查看了发送的请求
<script type="text/javascript" src="http://maps.google.com/maps?file=api&v=2&key=mykey&sensor=true">
原来的命中,返回了带有错误警报的js。我进行了重播,并使用一个发明的但不存在的域(www.hondutrack1.com)更改了 http header 中的引用属性,它的工作非常顺利。
为了恢复服务,我们购买了该域,在 apache 服务器中设置 mod_rewrite,在根 .htaccess 文件中创建重写,现在一切正常。
我知道这是一种解决方法,有点肮脏,但至少服务已启动并运行。
关于php - Google Maps API Javascript API v2 返回 "sensor"问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18422374/