kri*_*naz 39 javascript google-maps
是否有根据地图居中的国家/地区的大小自动设置缩放级别?
maps.google.com正是我所需要的,所以,例如,如果我搜索俄罗斯,我会得到一个缩放级别,以便俄罗斯适合屏幕,当我搜索古巴时,我得到更高的缩放级别,以便古巴只是适合.
是否有某种方法可以为地图Api提供国家/地区位置并获得适当的缩放级别.
如果没有,我想我必须手动(呃!)创建我自己的表来获取这些信息.或者这些信息可以在某处免费获得?
Mah*_*h M 60
对于V3,这段代码对我有用:
var geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
map.fitBounds(results[0].geometry.viewport);
}
});
Run Code Online (Sandbox Code Playgroud)
Dan*_*llo 46
对于API v3,请查看以下答案.
您可以使用Google Maps 客户端地理编码器获取该国家/地区的边界框,如下例所示:
// API version 2
var geocoder = new GClientGeocoder();
geocoder.getLocations("Russia", function (locations) {
var north = locations.Placemark[0].ExtendedData.LatLonBox.north;
var south = locations.Placemark[0].ExtendedData.LatLonBox.south;
var east = locations.Placemark[0].ExtendedData.LatLonBox.east;
var west = locations.Placemark[0].ExtendedData.LatLonBox.west;
var bounds = new GLatLngBounds(new GLatLng(south, west),
new GLatLng(north, east));
map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
});
// API version 3
// ... set north, south, east and west ...
var bounds = new google.maps.LatLngBounds(new google.maps.LatLng(south, west),
new google.maps.LatLng(north, east));
map.fitBounds(bounds);
Run Code Online (Sandbox Code Playgroud)
下面的屏幕截图显示了搜索俄罗斯和古巴时上述技术的结果:

| 归档时间: |
|
| 查看次数: |
41386 次 |
| 最近记录: |