Son*_*oul 4 google-maps google-maps-api-3
所以...我遇到了一个可能非常常见的问题.
刚刚开始实施谷歌地图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));
}
Run Code Online (Sandbox Code Playgroud)
问题是我正在通过静态缩放(13).
如果有人输入国家名称,我想缩小更多.如果它是一个城市,我想放大更多等..
我唯一能想到的是为每个城市和国家找出合适的缩放比例,将它们存储在一些哈希值中,然后尝试找出正在使用的缩放比例,以通过适当的缩放.
也许谷歌想到了更聪明的方法?
地理编码器返回"推荐"视口
你可以在你的SetMapAddress函数中使用它,如下所示:
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) {
document.map.fitBounds(results[0].geometry.viewport);
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5971 次 |
| 最近记录: |