使用Google Maps API v3进行地理编码?

时间:2011-01-28 23:56:23

标签: google-maps-api-3

目前我使用lat long来指定位置:

<script type="text/javascript">
function initialize() {
var myLatlng = new google.maps.LatLng(52.097303, 0.275820);
var myOptions = {
zoom: 15,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

var contentString = '<div id="bubbleContent">'+'<img src="images/logo.png" alt="logo"  width="200" height="35"/>'
'</div>';

var infowindow = new google.maps.InfoWindow({
content: contentString,
});
var marker = new google.maps.Marker({
  position: myLatlng, 
  map: map, 
}); 
infowindow.open(map,marker);
}
</script>

如何使用地理编码代替地址?例如英国剑桥

由于

1 个答案:

答案 0 :(得分:-3)

var map; var geocoder; var address;

function initialize() { map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(40.730885,-73.997383), 15); map.addControl(new GLargeMapControl); GEvent.addListener(map, "click", getAddress); geocoder = new GClientGeocoder(); }

function getAddress(overlay, latlng) { if (latlng != null) { address = latlng; geocoder.getLocations(latlng, showAddress); } }

function showAddress(response) { map.clearOverlays(); if (!response || response.Status.code != 200) { alert("Status Code:" + response.Status.code); } else { place = response.Placemark[0]; point = new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]); marker = new GMarker(point); map.addOverlay(marker); marker.openInfoWindowHtml( '>b<orig latlng:>/b<' + response.name + '>br/<' + '>b<latlng:>/b<' + place.Point.coordinates[1] + "," + place.Point.coordinates[0] + '>br<' + '>b<Status Code:>/b<' + response.Status.code + '>br<' + '>b<Status Request:>/b<' + response.Status.request + '>br<' + '>b<Address:>/b<' + place.address + '>br<' + '>b<Accuracy:>/b<' + place.AddressDetails.Accuracy + '>br>' + '>b>Country code:>/b< ' + place.AddressDetails.Country.CountryNameCode); } }