所以..我遇到了一个可能非常普遍的问题。
刚刚开始实施 google maps api,以下是我将城市解析为 lat/lang 并将地图居中的代码:
function SetMapAddress(address) { // "London, UK" for example
var geocoder = new google.maps.Geocoder();
if (geocoder) {
geocoder.geocode({ 'address': address }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var loc = results[0].geometry.location;
document.map.setCenter(new google.maps.LatLng(loc.lat(),loc.lng(), 13));
}
问题是我正在通过静态缩放(13)。
如果有人键入一个国家/地区的名称,我想缩小更多。如果它是一个城市,我想放大更多等等。
我唯一能想到的就是为每个城市和国家找出适当的缩放,将它们存储在一些哈希中,并尝试找出正在使用的,以通过适当的缩放。
也许谷歌想到了一种更智能的方法?