如何控制地图百度地图最大缩放级别别

主题 : 有人知道地图缩放等级怎么设置吗?
级别: 侠客
可可豆: 743 CB
威望: 743 点
在线时间: 266(时)
发自: Web Page
来源于&&分类
有人知道地图缩放等级怎么设置吗?&&&
我想限制地图的缩放等级, 缩到一定程度就不能再缩了,请问怎么限制呢? 感谢各位了。。
级别: 侠客
可可豆: 743 CB
威望: 743 点
在线时间: 266(时)
发自: Web Page
顶。。。。。
级别: 新手上路
可可豆: 363 CB
威望: 363 点
在线时间: 53(时)
发自: Web Page
这个,我前几天刚刚搞定了,用的是开源的代码。看这个,不能解决你砍我,哈哈哈,实现效果是和安卓系统对地图封装一样的。
此人神经病有所好转
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版百度地图实时侦听鼠标滚轮获取地图zoom缩放级别
时间: 16:49:05
&&&& 阅读:364
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&百度地图api提供的获取地图缩放级别的方法比较单一,就一个getZoom()方法,这个方法能够获取一次地图缩放级别,后面随着鼠标滚轮的滚动,地图缩放级别被改变,就无法再获取地图缩放级别了,具体api参考:/map/reference/index.php?title=Class:%E6%9E%81%E9%80%9F%E7%89%88%E6%A0%B8%E5%BF%83%E7%B1%BB/map
如题,若想实时获取地图的缩放级别,小博主是这样做的,添加鼠标滚轮事件,实时侦听鼠标滚轮(办法可能有点笨,欢迎指正交流),获取地图的缩放级别,关键代码如下(firefox另考虑):
var scrollFunc=function(e){
e=e || window.
var t1=document.getElementById("mapInfo");
t1.value=map.getZoom(); } /*注册事件*/ if(document.addEventListener){
document.addEventListener(‘DOMMouseScroll‘,scrollFunc,false); }//W3C window.onmousewheel=document.onmousewheel=scrollF//IE/Opera/Chrome效果图:
完整源代码:(记得在ak处加上自己的ak值)
&!DOCTYPE html&&html&&head&
&meta http-equiv="Content-Type" content="text/ charset=utf-8" /&
&meta name="viewport" content="initial-scale=1.0, user-scalable=no" /&
&style type="text/css"&
body, html,#allmap {width: 90%;height: 90%;overflow:margin:0;font-family:"微软雅黑";}
#info{width:70height:30px}
&script type=‘text/javascript‘ src=‘http://api./api?v=2.0&ak=你的ak‘&&/script&
&title&百度地图api展示&/title&
&div id="allmap"&&/div&
&/html&&label for="wheelDelta"&滚动值:&/label&(IE/Opera)&input type="text" id="mapInfo"/&&script type="text/javascript"&
//新建三个地图上点
var points = [
109.771014 ,"lat":
石塘中餐厅
109.770125 ,"lat":
109.769298 ,"lat":
//创建标注点并添加到地图中
function addMarker(points) {
//循环建立标注点
for(var i=0, pointsLen = points. i&pointsL i++) {
var point = new BMap.Point(points[i].lng, points[i].lat); //将标注点转化成地图上的点
var marker = new BMap.Marker(point); //将点转化成标注点
var label1=points[i].
var label = new BMap.Label(label1, {offset: new BMap.Size(15, -25)});
marker.setLabel(label);
map.addOverlay(marker);
//将标注点添加到地图上
//添加监听事件
(function() {
var thePoint = points[i];
marker.addEventListener("click",
function() {
showInfo(this,thePoint);
function showInfo(thisMarker,point) {
//获取点的信息
var sContent =
‘&ul style="margin:0 0 5px 0;padding:0.2em 0"&‘
+‘&li style="line-height: 26font-size: 15"&‘
+‘&span style="width: 50display: inline-"&id:&/span&‘ + point.id + ‘&/li&‘
+‘&li style="line-height: 26font-size: 15"&‘
+‘&span style="width: 50display: inline-"&名称:&/span&‘ + point.name + ‘&/li&‘
+‘&li style="line-height: 26font-size: 15"&&span style="width: 50display: inline-"&查看:&/span&&a href="‘+point.url+‘"&详情&/a&&/li&‘
+‘&/ul&‘;
var infoWindow = Window(sContent); //创建信息窗口对象
thisMarker.openInfoWindow(infoWindow); //图片加载完后重绘infoWindow
//创建地图
var map = new BMap.Map(‘allmap‘);
map.centerAndZoom(new BMap.Point(109, 18), 11);
// 设置中心点
map.centerAndZoom( "三亚");
map.setCurrentCity("三亚");
//设置为衡阳
map.addControl(new BMap.MapTypeControl());
map.enableScrollWheelZoom(true);
addMarker(points);
var scrollFunc=function(e){
e=e || window.
var t1=document.getElementById("mapInfo");
t1.value=map.getZoom();
/*注册事件*/
if(document.addEventListener){
document.addEventListener(‘DOMMouseScroll‘,scrollFunc,false);
window.onmousewheel=document.onmousewheel=scrollF//IE/Opera/Chrome
&标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&国之画&&&& &&&&chrome插件&&
版权所有 京ICP备号-2
迷上了代码!&&&&&&&&&&&
在OpenLayers中,地图必须具有一个缩放级别的范围,缩放级别可以用比例尺(scale)或者分辨率(resolution)表示。
比例尺——屏幕上1米代表多少地图坐标单位;分辨率——屏幕上一个像素代表多少地图坐标单位。两者的转换关系是:scale = resolution * 72 * 39.3701(1米=39.3701英寸,1英寸=72像素)
地图具有一个总的缩放级别,每个图层可以有各自的缩放级别,这样可以控制图层只在合适的级别上显示。
二、缩放级别范围的确定方法
1、比例尺数组或者分辨率数组来确定(相邻两级之间不一定是2倍的关系,可以是任意值)。示例:
resolutions:&[<span style="color: #.40625,<span style="color: #.703125,<span style="color: #.3515625,<span style="color: #.,<span style="color: #.,<span style="color: #.]scales:&[<span style="color: #000000,&<span style="color: #000000,&<span style="color: #000000,&<span style="color: #00000]
2、用最大分辨率(maxResolution)和缩放级别总数(numZoomLevels)确定,相邻两级是2倍关系
2.1最大分辨率的确定方法:
a.&直接指定maxResolution,例如:
maxResolution:&<span style="color: #.
b.&直接指定minScale,例如:
minScale:&<span style="color: #000000
c.&由maxExtent确定(maxResolution需设置为&#8216;auto&#8217;),例如:
maxExtent:&new&OpenLayers.Bounds(-<span style="color: #0,&-<span style="color: #,&<span style="color: #0,&<span style="color: #),maxResolution:&"auto"
2.2 缩放级别总数的确定方法:
a. &直接指定numZoomLevels,例如:numZoomLevels: 5b. &由最大分辨率和最小分辨率的比值确定,最小分辨率同2.1有三种方法可以确定:
&&& b.1 直接指定minResolution&&& b.2 直接指定maxScale&&& b.3 由minExtent确定(minResolution需设置为&#8216;auto&#8217;)
如果指定的参数过多,导致缩放级别范围不一致时,上述方法顺序决定了OpenLayers确定缩放级别范围的优先级。
阅读(...) 评论()Android百度 V3.0 缩放比例和定位按钮功能设置
发布时间: 10:10:07
看百度地图 3.0 两天才找到的方法&
以前使用:
& & & & & & & & & //设置中心点
& & & & & & & & & mMapController.setCenter(myPoint);&
& & & & & & & & & & &
& & & & & & & & & & // 设定比例尺
& & & & & & & & & & mMapController.setZoom(16);&
现在使用:
& & & & & & & &//设置中心点
& & & & & & & &MapStatusUpdate ms = MapStatusUpdateFactory.newLatLng(lng);
& & & & & & & &mBaiduMap.setMapStatus(ms);
& & & & & & & &//设置缩放比例
& & & & & & & &// 设置地图缩放比例:17级100米,16级为200米 更多请自己查询
MapStatusUpdate ms = MapStatusUpdateFactory.zoomTo(17);
mBaiduMap.setMapStatus(ms); & & & &
public static&&newLatLng(&latLng)
设置地图新中心点
参数:latLng&- 地图新中心点
返回:返回构造的 MapStatusUpdate 对象,如果 latLng 为 null 则返回空。
public static&&newLatLngZoom(&latLng,
float&zoom)
设置地图中心点以及缩放级别
参数:latLng&- 地图中心点,不能为 nullzoom&- 缩放级别 [3, 19]
返回:返回构造的 MapStatusUpdate 对象, 如果参数不合法返回 null
public static&&zoomTo(float&zoom)
设置地图缩放级别
参数:zoom&- 地图缩放级别
返回:返回构造的 MapStatusUpdate 对象
& & & 哎 第一次写这个。。。多多包含。。
更多方法可以看百度API/map/android_refer/index.html
版权声明:本文为博主原创文章,未经博主允许不得转载。
来源:http://blog.csdn.net/rnovice/article/details/博客分类:
数据迁移至.cn,点击查看详细:
misswuyang
浏览: 282770 次
来自: 合肥
正需要这个东西啊
什么都没说。。。
你这是js调用flash?
没 有全部清空的方法吗?
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'

我要回帖

更多关于 百度地图最大缩放级别 的文章

 

随机推荐