Nor*_*rse 16 google-maps google-maps-api-3
默认情况下,谷歌提供了如何在伊利诺伊州芝加哥市中心地图的示例:
var chicago = new google.maps.LatLng(41.850033, -87.6500523);
Run Code Online (Sandbox Code Playgroud)
是否可以将默认中心重点放在整个美国?我无处可寻.
Ken*_*ite 17
以芝加哥为中心,然后改变zoom.
这里有一个例子.稍微改写的版本(未经测试!):
gMap = new google.maps.Map(document.getElementById('map'));
gMap.setCenter(new google.maps.LatLng(41.850033, -87.6500523));
gMap.setZoom(ANewZoomLevel);
Run Code Online (Sandbox Code Playgroud)
您需要尝试根据需要找到合适的缩放级别.
一种选择是使用地理编码器.如果您对"美国"进行地理编码,则会返回"建议的视口",可用于居中和缩放地图:
"viewport": {
"Z": {
"b": 25.82,
"d": 49.38
},
"ca": {
"b": -124.38999999999999,
"d": -66.94
}
}
Run Code Online (Sandbox Code Playgroud)
地理编码器返回的中心/位置是: 37.09024, -95.712891
翻译为:
"viewport": {
NorthEast: { lat:49.38, lng:-66.94 },
SouthWest: { lat:25.82, lng:-124.39 }
}
Run Code Online (Sandbox Code Playgroud)
有两个类似的信息,边界和建议的视口.我相信边界包括阿拉斯加和夏威夷,视口可能更适合您的需求.
最简单的方法是手动居中地图并按照您喜欢的方式进行缩放,然后使用getCenter()和getZoom()获取当前值,然后使用它们初始化地图.
下面是一个使用地理编码从下拉列表缩放到国家/地区的示例(它使用边界,而不是视口,对于美国而言是不同的)
使用美国毗邻地理中心:
堪萨斯州黎巴嫩.可能是地球上最无聊的地方.
http://www.kansastravel.org/geographicalcenter.htm
我发现3,4或5的变焦是完美的.
gMap = new google.maps.Map(document.getElementById('map'));
gMap.setCenter(new google.maps.LatLng(39.8097343, -98.5556199));
gMap.setZoom(3);
Run Code Online (Sandbox Code Playgroud)
由于它是整个美国,使用LatLng进入小数似乎很愚蠢.我喜欢:
new google.maps.Map($map, {
center: new google.maps.LatLng(39, -95),
zoom: 3
});
Run Code Online (Sandbox Code Playgroud)
适合边界效果最好,因为缩放取决于设备宽度。在一台设备上看起来不错的东西对于另一台设备来说太大或太小。因此:
var bounds = new google.maps.LatLngBounds(
new google.maps.LatLng(25.82, -124.39),
new google.maps.LatLng(49.38, -66.94)
);
map.fitBounds(bounds);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27962 次 |
| 最近记录: |