0

我想在我的 .NET 页面上实现一个谷歌地图。我使用了 Subgurim 的工具

我可以很好地添加组件,但是在浏览页面时,我会收到大量的 Javascript 错误,例如:

GUnload is undefined

并且地图没有显示。我阅读了许多描述我的问题的帖子,但唯一的提示似乎是未加载地图 API。

我从 Google 获得了一个 API 密钥。我对界面不是很熟悉;我激活了 Google 地图 API 服务(v2 和 v3),并分别从“API 访问”中获得了一个密钥。

我下载了 Subgurim Maps 3.4.1 版。

string streetAddress = "100 Russell St. Melbourne. VIC. 3000. Australia";
string mapKey = ConfigurationManager.AppSettings["googlemaps.subgurim.net"];
Subgurim.Controles.GeoCode geoCode = GMap1.getGeoCodeRequest(streetAddress, mapKey);
Subgurim.Controles.GLatLng gLatLng = new Subgurim.Controles.GLatLng(geoCode.Placemark.coordinates.lat, geoCode.Placemark.coordinates.lng);

GMap1.setCenter(gLatLng, 16, Subgurim.Controles.GMapType.GTypes.Normal);
Subgurim.Controles.GMarker oMarker = new Subgurim.Controles.GMarker(gLatLng);
GMap1.addGMarker(oMarker);
4

2 回答 2

0

如果无法访问您的代码,我推断您已包含版本 3<script>标记,但已在版本 2 中编码了地图。因此您的代码包含许多G对象,包括GUnload,这些对象不包含在版本 3 中,API 对此一无所知。

直接的解决方案是包含版本 2 脚本。完整的解决方案(因为不推荐使用第 2 版)是将地图转换为第 3 版。我不知道 Subgurim 是否可以做到这一点。

新的(短)密钥适用于版本 3 和版本 2。

于 2012-03-27T16:36:40.617 回答
0

问题是我使用的 GMap 控件位于设置为 visible="false" 的页面的一部分。这导致了 Javascript 错误。

于 2012-03-29T15:26:11.690 回答