怎样才能把老地址从地图偏移上移到新店地图偏移上

后使用快捷导航没有帐号?
暂时没有人问过相似的问题,你可以做第一个提问题的人
查看: 2431|回复: 6
在地图上画一个圆,移动地图,怎么可以使圆不动
在地图上画一个圆,移动地图,怎么可以使圆不动
你好&&这个目前地图SDK 还没有类似的功能可以实现&&谢谢
自己想了个办法,做出来之后还凑合,有其他办法的分享一下(拖动拖动条可以使圆变大变小,拖动地图圆不动)
public class GeoFenceActivity extends Activity{
private static final String LTAG = GeoFenceActivity.class.getSimpleName();
private MapV
private BaiduMap baiduM
private SeekB
protected void onCreate(Bundle savedInstanceState) {
&&// TODO Auto-generated method stub
&&super.onCreate(savedInstanceState);
&&setContentView(R.layout.activity_geofence);
&&mapview = (MapView) findViewById(R.id.gmapView);
&&baiduMap = mapview.getMap();
&&LatLng p = new LatLng(39.10813);&&//中心点坐标
&&MapStatus mapStatus = new MapStatus.Builder().target(p).zoom(14).build();//定义地图状态
&&MapStatusUpdate mapStatusUpdate = MapStatusUpdateFactory.newMapStatus(mapStatus); //定义MapStatusUpdate对象,以便描述地图状态将要发生的变化
&&baiduMap.setMapStatus(mapStatusUpdate);
&&probar = (SeekBar) findViewById(R.id.pro);&&//拖动条
&&baiduMap.setOnMapLoadedCallback(new OnMapLoadedCallback() {&&//地图加载完成后执行
& &@Override
& &public void onMapLoaded() {
& & Display&&dis = getWindow().getWindowManager().getDefaultDisplay();
& & int max_x = dis.getWidth();
& & int max_y = dis.getHeight();
& & Point po = new Point(max_x/2,max_y/2);
& & pro = baiduMap.getProjection();
& & LatLng pp&&= pro.fromScreenLocation(po); //屏幕中心点坐标转换成百度地图地理坐标
& & int r = probar.getProgress(); //获取拖动条的默认值
& & OverlayOptions circle = new CircleOptions().fillColor(0x000000FF).center(pp).stroke(new Stroke(5, 0xAA000000)).radius(r); //圆心为屏幕中心点转换成的地理坐标半径为拖动条默认值
& & baiduMap.addOverlay(circle);
&&baiduMap.setOnMapStatusChangeListener(new OnMapStatusChangeListener() {&&//移动地图
& &@Override
& &public void onMapStatusChangeStart(MapStatus arg0) {
& & // TODO Auto-generated method stub
& &@Override
& &public void onMapStatusChangeFinish(MapStatus arg0) {
& & // TODO Auto-generated method stub
& &@Override
& &public void onMapStatusChange(MapStatus arg0) {& && &//移动地图过程中执行
& & baiduMap.clear();& && &//清掉原来的圆
& & Display&&dis = getWindow().getWindowManager().getDefaultDisplay();
& & int max_x = dis.getWidth();
& & int max_y = dis.getHeight();
& & Point po = new Point(max_x/2,max_y/2);
& & pro = baiduMap.getProjection();
& & LatLng pp&&= pro.fromScreenLocation(po); //屏幕中心点坐标转换成百度地图地理坐标
& & int r = probar.getProgress();
& & OverlayOptions circle = new CircleOptions().fillColor(0x000000FF).center(pp).stroke(new Stroke(5, 0xAA000000)).radius(r);
& & probar = (SeekBar) findViewById(R.id.pro);
& & baiduMap.addOverlay(circle);
&&probar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {& &//拖动条变化触发
& &@Override
& &public void onStopTrackingTouch(SeekBar seekBar) {
& & //停止调节
& &@Override
& &public void onStartTrackingTouch(SeekBar seekBar) {
& & //开始调节
& &@Override
& & //在拖动中--即值在改变
& &public void onProgressChanged(SeekBar seekBar, int progress,
& &&&boolean fromUser) {
& & baiduMap.clear();
& & Display&&dis = getWindow().getWindowManager().getDefaultDisplay();
& & int max_x = dis.getWidth();
& & int max_y = dis.getHeight();
& & Point po = new Point(max_x/2,max_y/2);
& & pro = baiduMap.getProjection();
& & LatLng pp&&= pro.fromScreenLocation(po); //屏幕中心点坐标转换成百度地图地理坐标
& & OverlayOptions circle = new CircleOptions().fillColor(0x000000FF).center(pp).stroke(new Stroke(5, 0xAA000000)).radius(progress);
& & baiduMap.addOverlay(circle);
万事还得靠自己想,虽然不会那么好
(188.81 KB, 下载次数: 1)
09:04 上传
实现是实现了,但是地图如果拖动过快的话就会出现圆圈乱动的情况~很没有即视感~各位有办法解决么?&
实现是实现了,但是地图如果拖动过快的话就会出现圆圈乱动的情况~很没有即视感~各位有办法解决么
在XML里面用相对布局放一个圆就行
在XML里面用相对布局放一个圆就行
用addView接口。去做一个圆
Powered by}

我要回帖

更多关于 百度地图api移除标注 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信