我有一个多年前在 Google Map v2 中编写的应用程序,它显示了来自给定初始纬度/经度的地图,并在地图上放置了一个图标。该网页是一个带有经纬度文本框的表格。该页面允许用户将图标拖动到野火所在的实际位置。新的纬度/经度被放入文本框中,用户可以提交表单。我没有在 v3 中找到适合此过程的替代品。现在我收到一条错误消息,提示需要从 Google 地图获取新的 API 密钥。但我也知道在 5 月 v2 可能不再有效。所以我想将此应用程序更新到 v3。关于我在哪里可以找到这个的任何想法?这是旧页面的示例 http://nfsdata.unl.edu/wildfire/testmap.asp 该页面是用 ASP 编写的。而且我们无法访问此服务器上的 PHP。谢谢
问问题
465 次
1 回答
1
这是一个非常简单的应用程序。
您的 v2 代码:
<script type="text/javascript">
//<![CDATA[
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
var center = new GLatLng(41.33,-96.95);
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(center, 13);
var marker = new GMarker(center, {draggable: false});
map.addOverlay(marker);
GEvent.addListener(map, "click", function(overlay, point) {
if (overlay) {
map.removeOverlay(overlay);
} else {
map.clearOverlays()
map.addOverlay(new GMarker(point));
document.getElementById("loclats").value = point.lat();
document.getElementById("loclongs").value = point.lng();
}
});
}
}
//]]>
</script>
简单翻译为 v3(未测试):
<script type="text/javascript">
//<![CDATA[
function load() {
var center = new google.maps.LatLng(41.33,-96.95);
map = new google.maps.Map(document.getElementById("map"),{
center:center,
zoom: 13
});
var marker = new google.maps.Marker({
map: map,
position:center
});
google.maps.event.addListener(marker, "click", function() {
marker.setMap(null);
});
google.maps.event.addListener(map, "click", function(evt) {
var point = evt.latLng;
marker.setPosition(point);
document.getElementById("loclats").value = point.lat();
document.getElementById("loclongs").value = point.lng();
});
}
}
//]]>
</script>
于 2013-01-10T21:35:52.553 回答