android百度地图api3,0 怎么百度api清除覆盖物物

后使用快捷导航没有帐号?
暂时没有人问过相似的问题,你可以做第一个提问题的人
查看: 4152|回复: 4
android百度地图api3,0
怎么清除覆盖物
添加覆盖物& && && && && && && && &//定义Maker坐标点&&
LatLng point = new LatLng(39.6.400244);&&
//构建Marker图标&&
BitmapDescriptor bitmap = BitmapDescriptorFactory&&
& & .fromResource(R.drawable.icon_gcoding);&&
//构建MarkerOption,用于在地图上添加Marker&&
OverlayOptions option = new MarkerOptions()&&
& & .position(point)&&
& & .icon(bitmap);&&
//在地图上添加Marker,并显示&&
mBaiduMap.addOverlay(option);
怎么实时更新覆盖物或者清空覆盖物
mBaiduMap.clear(); 或者是 Marker marker = (Marker)mBaiduMap.addOverlay(option); marker.remove();
3.0 mBaiduMap.clear(); 或者是 Marker marker = (Marker)mBaiduMap.addOverlay(option); marker.remove();
这几个方法没有效果&&求帮助
yupstephen
mBaiduMap.clear();可以
mBaiduMap.clear(); 或者是 Marker marker = (Marker)mBaiduMap.addOverlay(option); marker.remove();
谢谢,看了你的回复问题成功解决
Powered by本帖子已过去太久远了,不再提供回复功能。博客分类:
使用网络功能所需权限:
&!--使用网络功能所需权限
&uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"&
&/uses-permission&
&uses-permission android:name="android.permission.INTERNET"&
&/uses-permission&
&uses-permission android:name="android.permission.ACCESS_WIFI_STATE"&
&/uses-permission&
&uses-permission android:name="android.permission.CHANGE_WIFI_STATE"&
&/uses-permission&
&!-- SDK离线地图和cache功能需要读写外部存储器 --&
&uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"&
&/uses-permission&
&uses-permission android:name="android.permission.WRITE_SETTINGS"&
&/uses-permission&
&!-- 获取设置信息和详情页直接拨打电话需要以下权限
&uses-permission android:name="android.permission.READ_PHONE_STATE"&
&/uses-permission&
&uses-permission android:name="android.permission.CALL_PHONE"&
&/uses-permission&
&!-- 使用定位功能所需权限,demo已集成百度定位SDK,不使用定位功能可去掉以下6项 --&
&uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"&
&/uses-permission&
&permission android:name="android.permission.BAIDU_LOCATION_SERVICE"&
&/permission&
&uses-permission android:name="android.permission.BAIDU_LOCATION_SERVICE"&
&/uses-permission&
&uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"&
&/uses-permission&
&uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"&
&/uses-permission&
&uses-permission android:name="android.permission.ACCESS_GPS"/&
添加对应的开发密钥:
&meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="开发密钥"&
&/meta-data&
DemoApplication.java:
package org.lee.
import android.app.A
import android.content.C
import android.widget.T
import com.baidu.mapapi.BMapM
import com.baidu.mapapi.MKGeneralL
import com.baidu.mapapi.map.MKE
public class DemoApplication extends Application {
private static DemoApplication mInstance =
public boolean m_bKeyRight =
BMapManager mBMapManager =
public void onCreate() {
super.onCreate();
mInstance =
initEngineManager(this);
public void initEngineManager(Context context) {
if (mBMapManager == null) {
mBMapManager = new BMapManager(context);
if (!mBMapManager.init(new MyGeneralListener())) {
Toast.makeText(DemoApplication.getInstance().getApplicationContext(),
"BMapManager
初始化错误!", Toast.LENGTH_LONG).show();
public static DemoApplication getInstance() {
// 常用事件监听,用来处理通常的网络错误,授权验证错误等
static class MyGeneralListener implements MKGeneralListener {
public void onGetNetworkState(int iError) {
if (iError == MKEvent.ERROR_NETWORK_CONNECT) {
Toast.makeText(DemoApplication.getInstance().getApplicationContext(), "您的网络出错啦!",
Toast.LENGTH_LONG).show();
else if (iError == MKEvent.ERROR_NETWORK_DATA) {
Toast.makeText(DemoApplication.getInstance().getApplicationContext(), "输入正确的检索条件!",
Toast.LENGTH_LONG).show();
public void onGetPermissionState(int iError) {
//非零值表示key验证未通过
if (iError != 0) {
//授权Key错误:
Toast.makeText(DemoApplication.getInstance().getApplicationContext(),
"请在 DemoApplication.java文件输入正确的授权Key,并检查您的网络连接是否正常!error: "+iError, Toast.LENGTH_LONG).show();
DemoApplication.getInstance().m_bKeyRight =
DemoApplication.getInstance().m_bKeyRight =
Toast.makeText(DemoApplication.getInstance().getApplicationContext(),
"key认证成功", Toast.LENGTH_LONG).show();
BaiduMapActivity.java:
package org.lee.
import android.app.A
import android.graphics.B
import android.graphics.drawable.D
import android.os.B
import android.view.V
import com.baidu.mapapi.BMapM
import com.baidu.mapapi.map.ItemizedO
import com.baidu.mapapi.map.MapC
import com.baidu.mapapi.map.MapV
import com.baidu.mapapi.map.OverlayI
import com.baidu.mapapi.map.PopupClickL
import com.baidu.mapapi.map.PopupO
import com.api.basestruct.GeoP
public class BaiduMapActivity extends Activity {
BMapManager mBMapMan =
MapView mMapView =
private MyOverlay mOverlay =
private PopupOverlay pop =
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.onCreate(savedInstanceState);
// 初始化地图View
initBdMapViews();
//准备要添加的Overlay
addMyOverlay();
// 初始化地图View
private void initBdMapViews(){
mBMapMan = new BMapManager(getApplication());
mBMapMan.init(null);
// 注意:请在试用setContentView前初始化BMapManager对象,否则会报错
setContentView(R.layout.baidumap);
mMapView = (MapView) findViewById(R.id.bmapsView);
mMapView.setBuiltInZoomControls(true);
// 设置启用内置的缩放控件
MapController mMapController = mMapView.getController();
// 调整地图中心点
mMapController.setCenter(transformToGeoP(39.915, 116.404));
mMapController.setZoom(12);// 设置地图zoom级别
//准备要添加的Overlay
public void addMyOverlay(){
double mLat1 = 39.90923;
double mLon1 = 116.397428;
double mLat2 = 39.9022;
double mLon2 = 116.3922;
double mLat3 = 39.917723;
double mLon3 = 116.3722;
// 用给定的经纬度构造GeoPoint,单位是微度 (度 * 1E6)
GeoPoint p1 = transformToGeoP(mLat1, mLon1);
GeoPoint p2 = transformToGeoP(mLat2, mLon2);
GeoPoint p3 = transformToGeoP(mLat3, mLon3);
//准备overlay图像数据,根据实情情况修复
Drawable mark= getResources().getDrawable(R.drawable.icon_gcoding);
//用OverlayItem准备Overlay数据
OverlayItem item1 = new OverlayItem(p1,"item1","item1");
//使用setMarker()方法设置overlay图片,如果不设置则使用构建ItemizedOverlay时的默认设置
OverlayItem item2 = new OverlayItem(p2,"item2","item2");
item2.setMarker(mark);
OverlayItem item3 = new OverlayItem(p3,"item3","item3");
//创建IteminizedOverlay
mOverlay = new MyOverlay(mark, mMapView);
//将IteminizedOverlay添加到MapView中
mMapView.getOverlays().clear();
mMapView.getOverlays().add(mOverlay);
//现在所有准备工作已准备好,使用以下方法管理overlay.
//添加overlay, 当批量添加Overlay时使用addItem(List&OverlayItem&)效率更高
mOverlay.addItem(item1);
mOverlay.addItem(item2);
mOverlay.addItem(item3);
mMapView.refresh();
// 弹出覆盖物
public void showPopupOverlay(GeoPoint p1)
//创建pop对象,注册点击事件监听接口
pop = new PopupOverlay(mMapView,new PopupClickListener() {
public void onClickedPopup(int index) {
//在此处理pop点击事件,index为点击区域索引,点击区域最多可有三个
View view = getLayoutInflater().inflate(R.layout.pop_layout, null);
View pop_layout = view.findViewById(R.id.pop_layout);
//将View转化成用于显示的bitmap
Bitmap[] bitMaps = { BMapUtil.getBitmapFromView(pop_layout) };
//弹出pop,隐藏pop
pop.showPopup(bitMaps, p1, 32);
// 将经纬度转换成GeoPoint
private GeoPoint transformToGeoP(double lat, double lng)
return new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));
public class MyOverlay extends ItemizedOverlay&OverlayItem& {
//用MapView构造ItemizedOverlay
public MyOverlay(Drawable mark,MapView mapView){
super(mark,mapView);
protected boolean onTap(int index) {
//在此处理item点击事件
System.out.println("item onTap: "+index);
//弹出覆盖物
showPopupOverlay(getItem(index).getPoint());
public boolean onTap(GeoPoint pt, MapView mapView){
if (pop != null)
//隐藏覆盖物
pop.hidePop();
protected void onDestroy() {
mMapView.destroy();
if (mBMapMan != null) {
mBMapMan.destroy();
mBMapMan =
super.onDestroy();
protected void onPause() {
mMapView.onPause();
if (mBMapMan != null) {
mBMapMan.stop();
super.onPause();
protected void onResume() {
mMapView.onResume();
if (mBMapMan != null) {
mBMapMan.start();
super.onResume();
baidumap.xml:
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android="/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" &
&com.baidu.mapapi.map.MapView android:id="@+id/bmapsView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" /&
&/LinearLayout&
pop_layout.xml
&?xml version="1.0" encoding="utf-8"?&
&RelativeLayout xmlns:android="/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent" &
&RelativeLayout
android:id="@+id/pop_layout"
android:layout_width="fill_parent"
android:layout_height="120dip"
android:background="@drawable/pop_layout_bg" &
&LinearLayout
android:id="@+id/user_logo_layout"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_margin="2dip"
android:gravity="center" &
&ImageView
android:id="@+id/user_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon" /&
&/LinearLayout&
&LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_toRightOf="@+id/user_logo_layout"
android:gravity="center"
android:orientation="vertical" &
&LinearLayout
android:id="@+id/time_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" &
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_marginTop="5dip"
android:text="时间:"
android:textColor="#ffffff"
android:textSize="15dip" /&
android:id="@+id/time"
android:layout_width="175dip"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_marginTop="5dip"
android:text="日"
android:textColor="#ffffff"
android:textSize="15dip" /&
&/LinearLayout&
&LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/time_layout"
android:orientation="horizontal" &
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_marginTop="5dip"
android:text="地点:"
android:textColor="#ffffff"
android:textSize="15dip" /&
android:id="@+id/address"
android:layout_width="170dip"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_marginTop="5dip"
android:text="安徽省合肥市包河区富广大厦"
android:lines="2"
android:ellipsize="end"
android:textColor="#ffffff"
android:textSize="15dip" /&
&/LinearLayout&
&/LinearLayout&
&/RelativeLayout&
&/RelativeLayout&
下载次数: 73
下载次数: 14
下载次数: 28
chenzheng8975
浏览: 258062 次
来自: 合肥
引用引用[u][/u]
这做法不错,百度地图 提供的拉框获取不到矩形的几点
王太阳 写道你这根本就不出来,,你漏了几个地方...例子只做参 ...
王太阳 写道你这根本就不出来,,你漏了几个地方... 有图有真 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'iOS开发 百度地图使用 覆盖物添加和删除
我的图书馆
iOS开发 百度地图使用 覆盖物添加和删除
使用百度地图SDK开发一个功能,好多坑。但是,还是要硬着头皮都解决了这些问题。首先,百度地图SDK地址:/初步总结:由于百度地图SDK做的非常好,很多例子都有详细的介绍,所以得好好看demo的。============特殊需求:删除特定的地图覆盖物&地图上有BMKPolyline,有BMKPolygonView还有BMKGroundOverlayView所以每次只想删除一种类型的时候,就需要处理了比如删除 BMKPolyline 类型for (id zoneP in [_mapView overlays]) {&&&&&&&&&&& if ([zoneP isKindOfClass:[BMKPolyline class]]) {&&&&&&&&&&&&&&& [_mapView removeOverlay:zoneP];&&&&&&&&&&& }&&&&&&& }当然删除所有的覆盖物的时候,使用这个就够了 。。。[_mapView removeOverlays:_mapView.overlays];==============百度提供的demo=============&&代码部分*******************#import &UIKit/UIKit.h&#import &BaiduMapAPI_Map/BMKMapComponent.h&@interface AnnotationDemoViewController : UIViewController &BMKMapViewDelegate&{&&& IBOutlet BMKMapView* _mapV&&& IBOutlet UISegmentedControl*}@end***********************#define MYBUNDLE_NAME @ "mapapi.bundle"#define MYBUNDLE_PATH [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent: MYBUNDLE_NAME]#define MYBUNDLE [NSBundle bundleWithPath: MYBUNDLE_PATH]#import "AnnotationDemoViewController.h"#import "MyAnimatedAnnotationView.h"@interface AnnotationDemoViewController (){&&& BMKCircle*&&& BMKPolygon*&&& BMKPolygon* polygon2;&&& BMKPolyline*&&& BMKPolyline* colorfulP&&& BMKArcline*&&& BMKGroundOverlay* ground2;&&& BMKPointAnnotation* pointA&&& BMKPointAnnotation* animatedA}@end@implementation AnnotationDemoViewController// The designated initializer.& Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.- (void)viewDidLoad {&&& [super viewDidLoad];&&& //适配ios7&&& if( ([[[UIDevice currentDevice] systemVersion] doubleValue]&=7.0))&&& {//&&&&&&& self.edgesForExtendedLayout=UIRectEdgeN&&&&&&& self.navigationController.navigationBar.translucent = NO;&&& }&&& //设置地图缩放级别&&& [_mapView setZoomLevel:11];&&& //初始化segment&&& segment.selectedSegmentIndex=0;&&& &&& //添加内置覆盖物&&& [self addOverlayView];}-(void)viewWillAppear:(BOOL)animated {&&& [_mapView viewWillAppear];&&& _mapView.delegate = // 此处记得不用的时候需要置nil,否则影响内存的释放}-(void)viewWillDisappear:(BOOL)animated {&&& [_mapView viewWillDisappear];&&& _mapView.delegate = // 不用时,置nil}- (void)dealloc {&&& if (_mapView) {&&&&&&& _mapView =&&& }}//segment进行切换- (IBAction)segmentChanged:(UISegmentedControl *)sender {&&& UISegmentedControl *tempSeg = (UISegmentedControl *)&&& //内置覆盖物&&& if(tempSeg.selectedSegmentIndex == 0) {&&&&&&& [_mapView removeOverlays:_mapView.overlays];&&&&&&& [_mapView removeAnnotations:_mapView.annotations];&&&&&&& //添加内置覆盖物&&&&&&& [self addOverlayView];&&&&&&&&&& }&&& //添加标注&&& else if(tempSeg.selectedSegmentIndex == 1) {&&&&&&& [_mapView removeOverlays:_mapView.overlays];&&&&&&& [self addPointAnnotation];&&&&&&& [self addAnimatedAnnotation];&&&&&&&&&& }&&& //添加图片图层&&& else if(tempSeg.selectedSegmentIndex == 2) {&&&&&&& [_mapView removeOverlays:_mapView.overlays];&&&&&&& [_mapView removeAnnotations:_mapView.annotations];&&&&&&& [self addGroundOverlay];&&& }}- (void)addGroundOverlay {&&& //添加图片图层覆盖物&&& if (ground2 == nil) {&&&&&&& CLLocationCoordinate2D coords[2] = {0};&&&&&&& coords[0].latitude = 39.910;&&&&&&& coords[0].longitude = 116.370;&&&&&&& coords[1].latitude = 39.950;&&&&&&& coords[1].longitude = 116.430;&&&&&&& &&&&&&& BMKCoordinateB&&&&&&& bound.southWest = coords[0];&&&&&&& bound.northEast = coords[1];&&&&&&& ground2 = [BMKGroundOverlay groundOverlayWithBounds:bound icon:[UIImage imageNamed:@"test.png"]];&&&&&&& ground2.alpha = 0.8;&&& }&&& [_mapView addOverlay:ground2];//&&& _mapView.zoomLevel = 14;//&&& _mapView.centerCoordinate = CLLocationCoordinate2DMake(39.95);}//添加内置覆盖物- (void)addOverlayView {&&& // 添加圆形覆盖物&&& if (circle == nil) {&&&&&&& CLLocationCoordinate2D&&&&&&& coor.latitude = 39.915;&&&&&&& coor.longitude = 116.404;&&&&&&& circle = [BMKCircle circleWithCenterCoordinate:coor radius:5000];&&& }&&& [_mapView addOverlay:circle];&&& // 添加多边形覆盖物&&& if (polygon == nil) {&&&&&&& CLLocationCoordinate2D coords[4] = {0};&&&&&&& coords[0].latitude = 39.915;&&&&&&& coords[0].longitude = 116.404;&&&&&&& coords[1].latitude = 39.815;&&&&&&& coords[1].longitude = 116.404;&&&&&&& coords[2].latitude = 39.815;&&&&&&& coords[2].longitude = 116.504;&&&&&&& coords[3].latitude = 39.915;&&&&&&& coords[3].longitude = 116.504;&&&&&&& polygon = [BMKPolygon polygonWithCoordinates:coords count:4];&&& }&&& [_mapView addOverlay:polygon];&&& // 添加多边形覆盖物&&& if (polygon2 == nil) {&&&&&&& CLLocationCoordinate2D coords[5] = {0};&&&&&&& coords[0].latitude = 39.965;&&&&&&& coords[0].longitude = 116.604;&&&&&&& coords[1].latitude = 39.865;&&&&&&& coords[1].longitude = 116.604;&&&&&&& coords[2].latitude = 39.865;&&&&&&& coords[2].longitude = 116.704;&&&&&&& coords[3].latitude = 39.905;&&&&&&& coords[3].longitude = 116.654;&&&&&&& coords[4].latitude = 39.965;&&&&&&& coords[4].longitude = 116.704;&&&&&&& polygon2 = [BMKPolygon polygonWithCoordinates:coords count:5];&&& }&&& [_mapView addOverlay:polygon2];&&& //添加折线覆盖物&&& if (polyline == nil) {&&&&&&& CLLocationCoordinate2D coors[2] = {0};&&&&&&& coors[1].latitude = 39.895;&&&&&&& coors[1].longitude = 116.354;&&&&&&& coors[0].latitude = 39.815;&&&&&&& coors[0].longitude = 116.304;&&&&&&& polyline = [BMKPolyline polylineWithCoordinates:coors count:2];&&& }&&& [_mapView addOverlay:polyline];&&& &&& //添加折线(分段颜色绘制)覆盖物&&& if (colorfulPolyline == nil) {&&&&&&& CLLocationCoordinate2D coords[5] = {0};&&&&&&& coords[0].latitude = 39.965;&&&&&&& coords[0].longitude = 116.404;&&&&&&& coords[1].latitude = 39.925;&&&&&&& coords[1].longitude = 116.454;&&&&&&& coords[2].latitude = 39.955;&&&&&&& coords[2].longitude = 116.494;&&&&&&& coords[3].latitude = 39.905;&&&&&&& coords[3].longitude = 116.554;&&&&&&& coords[4].latitude = 39.965;&&&&&&& coords[4].longitude = 116.604;&&&&&&& //构建分段颜色索引数组&&&&&&& NSArray *colorIndexs = [NSArray arrayWithObjects:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [NSNumber numberWithInt:2],&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [NSNumber numberWithInt:0],&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [NSNumber numberWithInt:1],&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [NSNumber numberWithInt:2], nil];&&&&&&& &&&&&&& //构建BMKPolyline,使用分段颜色索引,其对应的BMKPolylineView必须设置colors属性&&&&&&& colorfulPolyline = [BMKPolyline polylineWithCoordinates:coords count:5 textureIndex:colorIndexs];&&& }&&& [_mapView addOverlay:colorfulPolyline];&&& &&& // 添加圆弧覆盖物&&& if (arcline == nil) {&&&&&&& CLLocationCoordinate2D coords[3] = {0};&&&&&&& coords[0].latitude = 40.065;&&&&&&& coords[0].longitude = 116.124;&&&&&&& coords[1].latitude = 40.125;&&&&&&& coords[1].longitude = 116.304;&&&&&&& coords[2].latitude = 40.065;&&&&&&& coords[2].longitude = 116.404;&&&&&&& arcline = [BMKArcline arclineWithCoordinates:coords];&&& }&&& [_mapView addOverlay:arcline];}//添加标注- (void)addPointAnnotation{&&& if (pointAnnotation == nil) {&&&&&&& pointAnnotation = [[BMKPointAnnotation alloc]init];&&&&&&& CLLocationCoordinate2D&&&&&&& coor.latitude = 39.915;&&&&&&& coor.longitude = 116.404;&&&&&&& pointAnnotation.coordinate =&&&&&&& pointAnnotation.title = @"test";&&&&&&& pointAnnotation.subtitle = @"此Annotation可拖拽!";&&& }&&& [_mapView addAnnotation:pointAnnotation];}// 添加动画Annotation- (void)addAnimatedAnnotation {&&& if (animatedAnnotation == nil) {&&&&&&& animatedAnnotation = [[BMKPointAnnotation alloc]init];&&&&&&& CLLocationCoordinate2D&&&&&&& coor.latitude = 40.115;&&&&&&& coor.longitude = 116.404;&&&&&&& animatedAnnotation.coordinate =&&&&&&& animatedAnnotation.title = @"我是动画Annotation";&&& }&&& [_mapView addAnnotation:animatedAnnotation];}#pragma mark -#pragma mark implement BMKMapViewDelegate//根据overlay生成对应的View- (BMKOverlayView *)mapView:(BMKMapView *)mapView viewForOverlay:(id &BMKOverlay&)overlay{&&& if ([overlay isKindOfClass:[BMKCircle class]])&&& {&&&&&&& BMKCircleView* circleView = [[BMKCircleView alloc] initWithOverlay:overlay];&&&&&&& circleView.fillColor = [[UIColor alloc] initWithRed:1 green:0 blue:0 alpha:0.5];&&&&&&& circleView.strokeColor = [[UIColor alloc] initWithRed:0 green:0 blue:1 alpha:0.5];&&&&&&& circleView.lineWidth = 5.0;&&& &&& return circleV&&& }&&& &&& if ([overlay isKindOfClass:[BMKPolyline class]])&&& {&&&&&&& BMKPolylineView* polylineView = [[BMKPolylineView alloc] initWithOverlay:overlay];&&&&&&& if (overlay == colorfulPolyline) {&&&&&&&&&&& polylineView.lineWidth = 5;&&&&&&&&&&& /// 使用分段颜色绘制时,必须设置(内容必须为UIColor)&&&&&&&&&&& polylineView.colors = [NSArray arrayWithObjects:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [[UIColor alloc] initWithRed:0 green:1 blue:0 alpha:1],&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [[UIColor alloc] initWithRed:1 green:0 blue:0 alpha:1],&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [[UIColor alloc] initWithRed:1 green:1 blue:0 alpha:0.5], nil];&&&&&&& } else {&&&&&&&&&&& polylineView.strokeColor = [[UIColor blueColor] colorWithAlphaComponent:1];&&&&&&&&&&& polylineView.lineWidth = 20.0;&&&&&&&&&&& [polylineView loadStrokeTextureImage:[UIImage imageNamed:@"texture_arrow.png"]];&&&&&&& }&&& &&& return polylineV&&& }&&& &&& if ([overlay isKindOfClass:[BMKPolygon class]])&&& {&&&&&&& BMKPolygonView* polygonView = [[BMKPolygonView alloc] initWithOverlay:overlay];&&&&&&& polygonView.strokeColor = [[UIColor alloc] initWithRed:0.0 green:0 blue:0.5 alpha:1];&&&&&&& polygonView.fillColor = [[UIColor alloc] initWithRed:0 green:1 blue:1 alpha:0.2];&&&&&&& polygonView.lineWidth =2.0;&&&&&&& polygonView.lineDash = (overlay == polygon2);&&& &&& return polygonV&&& }&&& if ([overlay isKindOfClass:[BMKGroundOverlay class]])&&& {&&&&&&& BMKGroundOverlayView* groundView = [[BMKGroundOverlayView alloc] initWithOverlay:overlay];&&& &&& return groundV&&& }&&& if ([overlay isKindOfClass:[BMKArcline class]]) {&&&&&&& BMKArclineView *arclineView = [[BMKArclineView alloc] initWithArcline:overlay];&&&&&&& arclineView.strokeColor = [UIColor blueColor];&&&&&&& arclineView.lineDash = YES;&&&&&&& arclineView.lineWidth = 6.0;&&&&&&& return arclineV&&& }&&&}// 根据anntation生成对应的View- (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id &BMKAnnotation&)annotation{&&& //普通annotation&&& if (annotation == pointAnnotation) {&&&&&&& NSString *AnnotationViewID = @"renameMark";&&&&&&& BMKPinAnnotationView *annotationView = (BMKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationViewID];&&&&&&& if (annotationView == nil) {&&&&&&&&&&& annotationView = [[BMKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationViewID];&&&&&&&&&&& // 设置颜色&&&&&&&&&&& annotationView.pinColor = BMKPinAnnotationColorP&&&&&&&&&&& // 从天上掉下效果&&&&&&&&&&& annotationView.animatesDrop = YES;&&&&&&&&&&& // 设置可拖拽&&&&&&&&&&& annotationView.draggable = YES;&&&&&&& }&&&&&&& return annotationV&&& }&&& &&& //动画annotation&&& NSString *AnnotationViewID = @"AnimatedAnnotation";&&& MyAnimatedAnnotationView *annotationView =&&& if (annotationView == nil) {&&&&&&& annotationView = [[MyAnimatedAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationViewID];&&& }&&& NSMutableArray *images = [NSMutableArray array];&&& for (int i = 1; i & 4; i++) {&&&&&&& UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"poi_%d.png", i]];&&&&&&& [images addObject:image];&&& }&&& annotationView.annotationImages =&&& return annotationV&&& }// 当点击annotation view弹出的泡泡时,调用此接口- (void)mapView:(BMKMapView *)mapView annotationViewForBubble:(BMKAnnotationView *){&&& NSLog(@"paopaoclick");}@end
TA的最新馆藏
喜欢该文的人也喜欢}

我要回帖

更多关于 高德地图清除覆盖物 的文章

更多推荐

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

点击添加站长微信