最近在做一个出行项目。遇到了些问题:
1.获得当前用户所在的经纬度后想将地图移动到该处,并且以该经纬度所在点为中心点。这是我的代码。GeoPoint gp = new GeoPoint(···);
mapView.getController().setCenter(gp);
mapView.getController().animateTo(gp);怎么搞都不行!请问该怎么搞呀?
2.当定位后我在地图上做了一个标记!我想当用户拖拽地图时去掉该标记。当他点击定位之后又在地图上添加标记。该怎么搞?这是我创建标记的类:package cn.inforview.android;import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Point;
import cn.inforview.maps.GeoPoint;
import cn.inforview.maps.MapView;
import cn.inforview.maps.Overlay;public class SignOverlay extends Overlay {
private GeoPoint gp; public SignOverlay(GeoPoint gp){
this.gp = gp ;
} @Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
// TODO Auto-generated method stub
super.draw(canvas, mapView, shadow);
Point p = new Point();
mapView.getProjection().toPixels(gp, p);
Bitmap map = BitmapFactory.decodeResource(mapView.getResources() ,R.drawable.curplace);
canvas.drawBitmap(map, p.x, p.y-128, null);
}}
这是添加标记的核心代码:SignOverlay overlay = new SignOverlay(gp);
mapView.getOverlays().add(overlay);
mapView.getController().setCenter(gp);
mapView.getController().animateTo(gp);这是我去掉标记的核心代码:SignOverlay overlay = new SignOverlay(gp);
mapView.getOverlays().remove(overlay);可当我点击取消标记时标记还在?不解。是不是我搞错了呀!求解!

解决方案 »

  1.   

    这些都不是大问题,注意几个地方:
    1. Map的API KEY是否有效?
    2. 你是在真机还是模拟器上做的测试?如果是模拟器是否模拟了GPS位置?建议看看SDK自带的MapsDemo, 或者看看下面这篇文章:http://mobiforge.com/developing/story/using-google-maps-android, 涵盖了MapView使用的一般问题