我有一个我多年前在Google Map v2中写过的应用程序,它显示了来自给定初始纬度/经度的地图,并在地图上放置了一个图标。这个网页是一个带有lat和long文本框的表单。该页面允许用户将图标拖动到野火所在的实际位置。新的lat / long被放入文本框中,用户可以提交表单。我没有在v3中找到适合此过程的替代品。现在我收到一条错误消息,指出Google地图需要新的API密钥。但我也知道,在5月,v2可能不再起作用。所以我想将此应用更新到v3。我能找到这个的任何想法?以下是旧页面的示例http://nfsdata.unl.edu/wildfire/testmap.asp该页面在ASP中编写。我们无法在此服务器上访问PHP。感谢
答案 0 :(得分: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>