我即将开始将Google地图V3实施到具有旧版谷歌地图的网站中。
升级是否难以改变?
我还需要在通话中添加api键
例如:
新来电
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">
之前的电话
<script src="http://maps.google.com/maps?file=api&v=2&key=someKEY">
最后我需要将鼠标悬停在一个地址链接上,地址显示在地图中,这是一项复杂的任务吗?
答案 0 :(得分:2)
v3 API的名称空间,类名和体系结构完全从v2 API发生了变化。我不会很难称之为升级,但这不是微不足道的。进一步阅读:Announcing Google Maps API v3。
您不再需要v3 API的API密钥。只需包含您在问题中提到的脚本。
在悬停时对地址进行地理编码并不是很困难。您可能需要查看以下示例以帮助您入门:
示例:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps Geocoding On Hover</title>
<script src="http://maps.google.com/maps/api/js?sensor=false"
type="text/javascript"></script>
</head>
<body>
<div id="map" style="width: 400px; height: 300px;"></div>
<ul>
<li><a href="#" onmouseover="gc(this);">Oxford Street, London, UK</a></li>
<li><a href="#" onmouseover="gc(this);">5th Ave, New York, USA</a></li>
<li><a href="#" onmouseover="gc(this);">Via Nazionale, Rome, Italy</a></li>
<li><a href="#" onmouseover="gc(this);">Rue de Rivoli, Paris, France</a></li>
</ul>
<script type="text/javascript">
var address = 'London, UK';
var map = new google.maps.Map(document.getElementById('map'), {
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: new google.maps.LatLng(40.71, -74.00),
zoom: 13
});
var geocoder = new google.maps.Geocoder();
var marker;
function gc(element) {
geocoder.geocode({
'address': element.innerHTML
},
function(results, status) {
if(status == google.maps.GeocoderStatus.OK) {
// Clear the previous marker
if (marker) marker.setMap(null);
// Set the new marker
marker = new google.maps.Marker({
position: results[0].geometry.location,
map: map
});
// Center the map on the geocoded result
map.setCenter(results[0].geometry.location);
}
});
}
</script>
</body>
</html>
截图: