使用商业客户端ID将Google Maps javascript v2升级到v3

时间:2013-04-23 09:28:23

标签: javascript ipad google-maps-api-3

我正在使用此link升级Google Maps JavaScript Application v2 To v3。基本上我的方法是从api获取输出,解析它并使用MapKit框架加载它,我使用这个code成功地完成了它。

我的问题:根据文档,如果我们为商业客户使用谷歌地图,我们将需要使用客户端ID代替密钥。

所以如果我使用这段代码:

<script src="https://maps.googleapis.com/maps/api/js?v=3&client=gme-myclientId&sensor=false" type="text/javascript"></script>

我得到以下输出,其中所有位置都绘制在单点(可能是中心):

map current output

如果我使用此代码:

 <script src="https://maps.googleapis.com/maps/api/js?sensor=false" type="text/javascript"></script>

我将得到预期的(正确的)输出如下:

map expected output without using clientId

我也通过这个documentation来正确使用客户端ID,但dint帮助。 我使用的是与v2相同的客户端ID,希望不会产生任何问题。

2 个答案:

答案 0 :(得分:3)

感谢所有对我的问题的评论,这使我能够解决问题。所以,我想分享解决方案。

当我没有使用客户端ID时,

<script src="https://maps.googleapis.com/maps/api/js?sensor=false" type="text/javascript"></script>

响应结构是

"overview_path": [{
                    "jb": 37.785610000000005,
                    "kb": -122.41127000000002
                }, … ];

但是,在使用客户端ID时,请说gme-myClientId

<script src="https://maps.googleapis.com/maps/api/js?v=3&client=gme-myClientId&sensor=false" type="text/javascript"></script>

响应结构是

"overview_path": [{
                    "hb": 37.785610000000005,
                    "ib": -122.41127000000002
                }, …];

因此,jb,kb到hb,ib的变化导致了问题,因为我使用变量作为获取值的关键。

我正在使用third party Code,内部遵循此程序。

我邮寄了谷歌企业支持,他们回复说我可能在我的Javascript库中使用了一些未记录的变量。变量名称在库缩小时自动生成,并且可以(并且经常)在它们推送的每个版本上进行更改。正确的方法是仅使用记录的API方法。

可以找到使用文档化API方法的链接 Here

我修改了我的代码,使用如下所示

var latT = someLocationObject.lat();
var longT = someLocationObject.lng();

它对我有用。

答案 1 :(得分:-1)

好吧,要使用像“gme-XXXXX”这样的客户端ID,您需要购买Google Maps for Business许可证。你已经买了一个吗?

此致