Joh*_*ohn 5 html javascript static google-maps zoom
我在客户的工作环境中使用静态地图。我喜欢17的缩放比例(对于整个地球,缩放比例为0,最接近的缩放比例为21),但是根据图像位置的来源,Google可能无法在17的缩放比例下提供图像。 ,告诉Maps API,以动态方式选择可能的最高缩放比例,最高可达17?我还没有办法做到这一点,但我肯定会提出任何建议。
据我所知,静态地图必须在网址的查询字符串中设置缩放比例,例如
&zoom=17 要么 &z=17
如果您使用的是非静态地图,则可以轻松找到和/或设置最大缩放比例:
第2版:http: //googlegeodevelopers.blogspot.com/2009/06/how-low-can-you-go-introducing.html
第3版:http: //code.google.com/apis/maps/documentation/javascript/services.html#MaxZoom
鉴于您使用的是静态方法,我认为您有两种选择:
编辑
这是实现js缩放的一种方法。(我对此很感兴趣,并一起破解了。我相信有更好/更优雅的方式)
的HTML
<img src="http://maps.googleapis.com/maps/api/staticmap?center=55.516192,-87.39624&size=400x400&maptype=satellite&sensor=false&zoom=12" />
<input type="submit" id="in" value="Zoom in" />
<input type="submit" id="out" value="Zoom out" />
Run Code Online (Sandbox Code Playgroud)
确保缩放级别在查询字符串的末尾。
JS
$('#in').click(function(){
var map = $('img').attr('src');
var zoomPat = /(.+)(zoom=)([\d]*)/;
var zoomLevel = map.match(zoomPat);
var zoomLevelNum = Number(zoomLevel[3]);
if(zoomLevelNum == 21){
alert('Maximum level reached');
}
else{
var newZoom = zoomLevel[1] + zoomLevel[2] + (zoomLevelNum + 1);
$('img').attr('src', newZoom);
}
});
$('#out').click(function(){
var map = $('img').attr('src');
var zoomPat = /(.+)(zoom=)([\d]*)/;
var zoomLevel = map.match(zoomPat);
var zoomLevelNum = Number(zoomLevel[3]);
if(zoomLevelNum == 0){
alert('Minimum level reached');
}
else{
var newZoom = zoomLevel[1] + zoomLevel[2] + (zoomLevelNum - 1);
$('img').attr('src', newZoom);
}
});
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/jasongennaro/FFTKG/2/
| 归档时间: |
|
| 查看次数: |
5118 次 |
| 最近记录: |