步骤4 显示当前位置标识
我们将用两种不同的图案来标识地图的标识,如下图,蓝色的图形表示当前用户所在的位置,红色的图形表示
我们把这两张图下载下来,并且放到工程的drawable目录。这里将其放到res目录下的drawable-hdpi文件夹,因为本文只用到了HDPI的分辨率,在实际开发中,建议做中及低分辨率的图片已提供更好的适应性。
接下来,编写一个方法,在当前位置中绘制出蓝色的标识。代码如下:
public void drawCurrPositionOverlay(){
List<Overlay> overlays = mapView.getOverlays();
overlays.remove(currPos);
Drawable marker = getResources().getDrawable(R.drawable.me);
currPos = new MallOverlay(marker,mapView);
if(currentPoint!=null){
OverlayItem overlayitem = new OverlayItem(currentPoint, "Me", "Here I am!");
currPos.addOverlay(overlayitem);
overlays.add(currPos);
currPos.setCurrentLocation(currentLocation);
}
}
List<Overlay> overlays = mapView.getOverlays();
overlays.remove(currPos);
Drawable marker = getResources().getDrawable(R.drawable.me);
currPos = new MallOverlay(marker,mapView);
if(currentPoint!=null){
OverlayItem overlayitem = new OverlayItem(currentPoint, "Me", "Here I am!");
currPos.addOverlay(overlayitem);
overlays.add(currPos);
currPos.setCurrentLocation(currentLocation);
}
}
同时要记得在主方法onCreate()方法中加入调用的语句:
drawCurrPositionOverlay();
运行应用,可以看到有如下图的结果: