为什么我设置the center是什么地图值后地图显示不出

主题 : 高德地图如何设置默认显示的中心位置?
级别: 骑士
UID: 473502
可可豆: 1244 CB
威望: 881 点
在线时间: 176(时)
发自: Web Page
来源于&&分类
高德地图如何设置默认显示的中心位置?&&&
我给高德地图设置一个坐标然后标注大头针。的确是标注出来了,但是不在屏幕内,需要手动拖动地图才能找到,怎样才能让我设置的这个坐标变成高德地图一运行就默认显示的中心呢?我找到了高德里的这个方法,不知道对不对:/*! @brief 将经纬度转换为指定view坐标系的坐标 @param coordinate 经纬度 @param view 指定的view @return 基于指定view坐标系的坐标 */- (CGPoint)convertCoordinate:(CLLocationCoordinate2D)coordinate toPointToView:(UIView *)可是我不会调用。我是这么写的:[_mapView convertCoordinate:_pointAnnotation.coordinate toPointToView:_mapView];但是要把这个返回的CGPoint坐标赋给谁呢?高德地图的中心点如何设置呢?大家谁知道啊?
级别: 骑士
UID: 473502
可可豆: 1244 CB
威望: 881 点
在线时间: 176(时)
发自: Web Page
快来人啊!!!
级别: 新手上路
可可豆: 2 CB
威望: 2 点
在线时间: 61(时)
发自: Web Page
楼主问题解决了吗?我刚开始用高德地图也遇到这个问题了
级别: 骑士
UID: 473502
可可豆: 1244 CB
威望: 881 点
在线时间: 176(时)
发自: Web Page
回 2楼(childs) 的帖子
今天上午终于解决了,只要把经纬度坐标赋给地图的中心点就行了。_mapView.centerCoordinate = 经纬度点
级别: 侠客
UID: 236012
可可豆: 411 CB
威望: 299 点
在线时间: 130(时)
发自: Web Page
/*! 设置地图使其可以显示数组中所有的annotation, 如果数组中只有一个则直接设置地图中心为annotation的位置。 @param annotations 需要显示的annotation @param animated&&&&是否执行动画 */- (void)showAnnotations:(NSArray *)annotations animated:(BOOL)/** *&&设置地图使其可以显示数组中所有的annotation, 如果数组中只有一个则直接设置地图中心为annotation的位置。 * *&&@param annotations 需要显示的annotation *&&@param insets&&&&&&insets 嵌入边界 *&&@param animated&&&&是否执行动画 */- (void)showAnnotations:(NSArray *)annotations edgePadding:(UIEdgeInsets)insets animated:(BOOL)希望对你有用!
本人新手,不当之处请指正!
级别: 新手上路
可可豆: 38 CB
威望: 28 点
在线时间: 195(时)
发自: Web Page
请问楼主,应该在那个方法中设置呢?
级别: 新手上路
可可豆: 2 CB
威望: 2 点
在线时间: 136(时)
发自: Web Page
我的方法是初始化地图时&&&& _mapView.userTrackingMode = MAUserTrackingModeF设置地图使用模式是跟随模式,然后就可以了
级别: 新手上路
可可豆: 1 CB
威望: 1 点
在线时间: 32(时)
发自: Web Page
楼主 你的问题解决了吗?我遇到同样的问题 请指点一下
级别: 骑士
UID: 400498
可可豆: 533 CB
威望: 526 点
在线时间: 1935(时)
发自: Web Page
回 楼主(凡几多) 的帖子
直接设置地图的中心点不就行了&&mapview.centerxxx=经纬度
级别: 圣骑士
UID: 533249
可可豆: 2627 CB
威望: 1793 点
在线时间: 488(时)
发自: Web Page
mapView.centerCoordinate = 经纬度点&& 这个是正解
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版后使用快捷导航没有帐号?
暂时没有人问过相似的问题,你可以做第一个提问题的人
查看: 11030|回复: 15
请问如何在地图框固定位置显示一个不随地图移动的marker?
十分感谢。想在地图的中心位置显示一个marker,但是拖动地图的时候不随地图移动,只停留在地图框的中心就可以。
var cr=new BMap.CopyrightControl({anchor:BMAP_ANCHOR_TOP_LEFT,offset:new BMap.Size(150,100)});
map.addControl(cr);
cr.addCopyright({id:1,content:&&img src='./images/baidu.png' style='width:20' /&&});
统一回复各位~
& & & & var map = new BMap.Map(&allmap&);
& & & & var point = new BMap.Point(116.404, 39.915);
& & & & map.centerAndZoom(point, 15);
& & & & var marker = new BMap.Marker(point);&&// 创建标注
& & & & map.addOverlay(marker);& && && && && &// 将标注添加到地图中
& & & & map.addEventListener('ondragging', function(){
&&& & & & & & & & marker.setPosition(map.getCenter());
&&& & & & });
直接自己画一个上去不就行了啊。。。。
强烈关注!
这个问题有点自相矛盾啊。首先说不让marker移动,但是又说地图移动的时候,还要marker停留在地图中心,那不还是得移动吗?建议:地图移动的时候,实时改变marker的经纬度坐标为地图中心点坐标。
我的做法是在百度地图的状态改变监听器中不停的修改Dot的位置,不知道有没有更高明的做法。
楼主参考下,有更好的方法也请赐教~mBaiduMap.setOnMapStatusChangeListener(new OnMapStatusChangeListener(){
& & & & & & & & & & & & @Override
& & & & & & & & & & & & public void onMapStatusChange(MapStatus arg0) {
& & & & & & & & & & & & & & & & // TODO Auto-generated method stub
& & & & & & & & & & & & & & & & //将屏幕中心240,240位置的点转换为的经纬度ll
& && && && && && && && && && && && && && && && && && & LatLng ll = mBaiduMap.getProjection()
& && && && && && && && && && && && && && && && && && && && && && && && && && & .fromScreenLocation(new Point(240,300));
& && && && && && && && && && && && && && && && && &&&//重新设置中心的位置,centerMarker为已经添加到地图的Dot
& & & & & & & && && && && && && && & centerDot.setCenter(ll);
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & & & & & @Override
& & & & & & & & & & & & public void onMapStatusChangeFinish(MapStatus arg0) {
& & & & & & & & & & & & & & & & // TODO Auto-generated method stub
& & & & & & & & & & & & }
& & & & & & & & & & & & @Override
& & & & & & & & & & & & public void onMapStatusChangeStart(MapStatus arg0) {
& & & & & & & & & & & & & & & & // TODO Auto-generated method stub
& & & & & & & & & & & & }
& & & & & & & & });
& && &&&//initMyLocation();
& & & & }复制代码
我现在也想地图移动的时候,实时改变marker的经纬度坐标为地图中心点坐标。可以不知道怎么做 我是用在网页上的 是用的百度api js版本的&&
我现在也在做这个功能,请问楼主实现了吗?
本帖最后由 ahgo2005 于
21:32 编辑
统一回复各位~
& && &&&var map = new BMap.Map(&allmap&);
& && &&&var point = new BMap.Point(116.404, 39.915);
多谢版主!更新下,版主的是移动时就开始定位到地图中心,移动结束后,位置就变了.下次开始移动时,才回到中心.
下面的是移动结束后更新marker点位置
var map = new BMap.Map(&allmap&);
& && &&&var point = new BMap.Point(116.404, 39.915);
& && &&&map.centerAndZoom(point, 15);
& && &&&var marker = new BMap.Marker(point);&&// 创建标注
& && &&&map.addOverlay(marker);& && && && && &// 将标注添加到地图中
& && &&&map.addEventListener('dragend', function(){& & //移动结束后定位
& && && && && && &marker.setPosition(map.getCenter());
& && && & });
美图上外卖就是这么定位的,口碑上的实时移动还在摸索...
顺便问下版主,addEventListener能监听哪些事件...api里面没找到
多谢版主!更新下,版主的是移动时就开始定位到地图中心,移动结束后,位置就变了.下次开始移动时,才回到中心. ...
类参考里面有啊
我的做法是在百度地图的状态改变监听器中不停的修改Dot的位置,不知道有没有更高明的做法。
楼主参考下,有 ...
这是android代码吧,我想要一个javascript的,不知道怎么实现
统一回复各位~
& & & & var map = new BMap.Map(&allmap&);
& & & & var point = new BMap.Point(116.404, 39.915);
这个方法在页面上显示会出现明显的卡顿现象,并没有微信里面的那种很流畅的效果,有改进方法吗?
这个需求跟control比较像,固定在页面上。所以我刚实现了一个自定义的control。
这个需求跟control比较像,固定在页面上。所以我刚实现了一个自定义的control。 ...
确实是,control的特点就是固定不动的。如果您原因分享出来就更好了~
确实是,control的特点就是固定不动的。如果您原因分享出来就更好了~
看例子就可以了。
后来我决定直接用自带的Copyright那个控件,就显示几个字嘛
Powered by百度地图API示例之设置地图显示范围 - jason&li - 博客园
&!DOCTYPE html&
&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 {width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}
#allmap{width:<span style="color: #%;height:<span style="color: #px;}
p{margin-left:5px; font-size:14px;}
&script type="text/javascript" src="http://api./api?v=2.0&ak=sSelQoVi2L3KofLo1HOobonW"&&/script&
&script type="text/javascript" src="http://api./library/AreaRestriction/1.2/src/AreaRestriction_min.js"&&/script&
&title&设置地图显示范围&/title&
&div id="allmap"&&/div&
&p&将地图显示范围设定在指定区域,地图拖出该区域后会重新弹回。&/p&
&script type="text/javascript"&
//百度地图API功能
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 13);
// map.centerAndZoom(new BMap.Point(116..); // 测试为左下角的位置
// map.centerAndZoom(new BMap.Point(116..); // 测试为右上角的位置
map.enableScrollWheelZoom(); // 允许滚动
var b = new BMap.Bounds(new BMap.Point(116.027143, 39.772348),new BMap.Point(116.832025, 40.126349)); // 范围 左下角,右上角的点位置
// js中尽然还有try catch方法,可以避免bug引起的错误
BMapLib.AreaRestriction.setBounds(map, b); // 已map为中心,已b为范围的地图
} catch (e) {
// 捕获错误异常
引入更多的类AreaRestriction_min
/**&* @fileoverview 百度地图浏览区域限制类,对外开放。&* 允许开发者输入限定浏览的地图区域的Bounds值,&* 则地图浏览者只能在限定区域内浏览地图。&* 基于Baidu Map API 1.2。&*&* @author Baidu Map Api Group &* @version 1.2&*/& & /** && * @namespace BMap的所有library类均放在BMapLib命名空间下&& */& var BMapLib = window.BMapLib = BMapLib || {};& & (function() {& &&&&& /** &&&&&& * @exports AreaRestriction as BMapLib.AreaRestriction &&&&&& */&&&&& var AreaRestriction =&&&&&&&&& /**&&&&&&&&&& * AreaRestriction类,静态类,不用实例化&&&&&&&&&& * @class AreaRestriction类提供的都是静态方法,勿需实例化即可使用。&&& &&&&&&&&&&& */&&&&&&&&& BMapLib.AreaRestriction = function(){&&&&&&&&& }&&&& &&&&&& /**&&&&&& * 是否已经对区域进行过限定的标识&&&&&& * @private&&&&&& * @type {Boolean}&&&&&& */&&&&& var _isRestricted =& &&&&& /**&&&&&& * map对象&&&&&& * @private&&&&&& * @type {BMap}&&&&&& */&&&&& var _map =& &&&&& /**&&&&&& * 开发者需要限定的区域&&&&&& * @private&&&&&& * @type {BMap.Bounds}&&&&&& */&&&&& var _bounds =& &&&&& /**&&&&&& * 对可浏览地图区域的限定方法&&&&&& * @param {BMap} map map对象&&&&&& * @param {BMap.Bounds} bounds 开发者需要限定的区域&&&&&& *&&&&&& * @return {Boolean} 完成了对区域的限制即返回true,否则为false&&&&&& */&&&&& AreaRestriction.setBounds = function(map, bounds){&&&&&&&&& // 验证输入值的合法性&&&&&&&&& if (!map || &&&&&&&&&&&&& !bounds || &&&&&&&&&&&&& !(bounds instanceof BMap.Bounds)) {&&&&&&&&&&&&&&&&& throw "请检查传入参数值的合法性";&&&&&&&&&&&&&&&&&&&&&&&&&& }&&&&&&&& &&&&&&&&&& if (_isRestricted) {&&&&&&&&&&&&& this.clearBounds();&&&&&&&&& }&&&&&&&&& _map =&&&&&&&&& _bounds =& &&&&&&&&& // 添加地图的moving事件,用以对浏览区域的限制&&&&&&&&& _map.addEventListener("moveend", this._mapMoveendEvent);&&&&&&&&& _isRestricted =&&&&&&&&&&&&&& };& &&&&& /**&&&&&& * 需要绑定在地图移动事件中的操作,主要控制出界时的地图重新定位&&&&&& * @param {Event} e e对象&&&&&& *&&&&&& * @return 无返回值&&&&&& */&&&&& AreaRestriction._mapMoveendEvent = function(e) {&&&&&&&&& // 如果当前完全没有出界,则无操作&&&&&&&&& if (_bounds.containsBounds(_map.getBounds())) {&&&&&&&&&&&&&&&&&&&&&& }& &&&&&&&&& // 两个需要对比的bound区域的边界值&&&&&&&&& var curBounds = _map.getBounds(),&&&&&&&&&&&&&&& curBoundsSW = curBounds.getSouthWest(),&&&&&&&&&&&&&&& curBoundsNE = curBounds.getNorthEast(),&&&&&&&&&&&&&&& _boundsSW = _bounds.getSouthWest(),&&&&&&&&&&&&&&& _boundsNE = _bounds.getNorthEast();& &&&&&&&&& // 需要计算定位中心点的四个边界&&&&&&&&& var boundary = {n : 0, e : 0, s : 0, w : 0};&&&&&&&& &&&&&&&&& // 计算需要定位的中心点的上方边界&&&&&&&& boundary.n = (curBoundsNE.lat & _boundsNE.lat) ? &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& curBoundsNE.lat :&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& _boundsNE.&&&&&&&&& // 计算需要定位的中心点的右边边界&&&&&&&& boundary.e = (curBoundsNE.lng & _boundsNE.lng) ? &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& curBoundsNE.lng :&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& _boundsNE.&&&&&&&&& // 计算需要定位的中心点的下方边界&&&&&&&& boundary.s = (curBoundsSW.lat & _boundsSW.lat) ? &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& _boundsSW.lat :&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& curBoundsSW.&&&&&&&&& // 计算需要定位的中心点的左边边界&&&&&&&& boundary.w = (curBoundsSW.lng & _boundsSW.lng) ? &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& _boundsSW.lng :&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& curBoundsSW.&&&&&&& &&&&&&&&& // 设置新的中心点&&&&&&& var center = new BMap.Point(boundary.w + (boundary.e - boundary.w) / 2,&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& boundary.s + (boundary.n - boundary.s) / 2);&&&&&&& setTimeout(function() {&&&&&&&&&&&& _map.panTo(center, {noAnimation : "no"});&&&&&&&& }, 1);&&&& };&&&&& /**&&&&& * 清除对地图浏览区域限定的状态&&&&& * @return 无返回值&&&&& */&&&& AreaRestriction.clearBounds = function(){&&&&&&&& if (!_isRestricted) {&&&&&&&&&&&&&&&&&&&& }&&&&&&&& _map.removeEventListener("moveend", this._mapMoveendEvent);&&&&&&&& _isRestricted =&&&& };&&})();

我要回帖

更多关于 the center是什么地图 的文章

 

随机推荐