您的位置:首页 > 其它

百度地图画线----可以加上起始位置和终点位置(当前例子没有加)

2014-10-20 17:42 337 查看


package com.qiao.baidumap;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.OverlayOptions;
import com.baidu.mapapi.map.PolylineOptions;
import com.baidu.mapapi.model.LatLng;

/**
* baiduMap画线操作
*
* @author 有点凉了
*
*/
public class MainActivity extends Activity {
MapView mMapView = null;
BaiduMap mBaiduMap = null;
// UI相关
Button resetBtn;
Button clearBtn;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
// 在使用SDK各组件之前初始化context信息,传入ApplicationContext
// 注意该方法要再setContentView方法之前实现
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
// 初始化地图
mMapView = (MapView) findViewById(R.id.bmapView);
mBaiduMap = mMapView.getMap();
// UI初始化
clearBtn = (Button) findViewById(R.id.button1);
resetBtn = (Button) findViewById(R.id.button2);

OnClickListener clearListener = new OnClickListener() {
public void onClick(View v) {
clearClick();
}
};
OnClickListener restListener = new OnClickListener() {
public void onClick(View v) {
resetClick();
}
};

clearBtn.setOnClickListener(clearListener);
resetBtn.setOnClickListener(restListener);

// 界面加载时添加绘制图层
addCustomElementsDemo();
}

/**
* 添加点、线、多边形、圆、文字
*/
public void addCustomElementsDemo() {
// 添加折线
LatLng p1 = new LatLng(39.97923, 116.357428);
LatLng p2 = new LatLng(39.94923, 116.397428);
LatLng p3 = new LatLng(39.97923, 116.437428);
LatLng p4 = new LatLng(39.96923, 116.367428);
LatLng p5 = new LatLng(39.95923, 116.368428);
LatLng p6 = new LatLng(39.95323, 116.362428);
LatLng p7 = new LatLng(39.95423, 116.363428);
LatLng p8 = new LatLng(39.95123, 116.364428);
List<LatLng> points = new ArrayList<LatLng>();
points.add(p1);
points.add(p2);
points.add(p3);
points.add(p4);
points.add(p5);
points.add(p6);
points.add(p7);
points.add(p8);
OverlayOptions ooPolyline = new PolylineOptions().width(10)
.color(0xAAFF0000).points(points);
mBaiduMap.addOverlay(ooPolyline);
/*
* // 添加弧线 OverlayOptions ooArc = new
* ArcOptions().color(0xAA00FF00).width(4) .points(p1, p2, p3);
* mBaiduMap.addOverlay(ooArc); // 添加圆 LatLng llCircle = new
* LatLng(39.90923, 116.447428); OverlayOptions ooCircle = new
* CircleOptions().fillColor(0x000000FF) .center(llCircle).stroke(new
* Stroke(5, 0xAA000000)) .radius(1400); mBaiduMap.addOverlay(ooCircle);
*
* LatLng llDot = new LatLng(39.98923, 116.397428); OverlayOptions ooDot
* = new DotOptions().center(llDot).radius(6) .color(0xFF0000FF);
* mBaiduMap.addOverlay(ooDot); // 添加多边形 LatLng pt1 = new
* LatLng(39.93923, 116.357428); LatLng pt2 = new LatLng(39.91923,
* 116.327428); LatLng pt3 = new LatLng(39.89923, 116.347428); LatLng
* pt4 = new LatLng(39.89923, 116.367428); LatLng pt5 = new
* LatLng(39.91923, 116.387428); List<LatLng> pts = new
* ArrayList<LatLng>(); pts.add(pt1); pts.add(pt2); pts.add(pt3);
* pts.add(pt4); pts.add(pt5); OverlayOptions ooPolygon = new
* PolygonOptions().points(pts) .stroke(new Stroke(5,
* 0xAA00FF00)).fillColor(0xAAFFFF00); mBaiduMap.addOverlay(ooPolygon);
* // 添加文字 LatLng llText = new LatLng(39.86923, 116.397428);
* OverlayOptions ooText = new TextOptions().bgColor(0xAAFFFF00)
* .fontSize(24).fontColor(0xFFFF00FF).text("百度地图SDK").rotate(-30)
* .position(llText); mBaiduMap.addOverlay(ooText);
*/
}

@Override
protected void onDestroy() {
super.onDestroy();
// 在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
mMapView.onDestroy();
}

@Override
protected void onResume() {
super.onResume();
// 在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
mMapView.onResume();
}

@Override
protected void onPause() {
super.onPause();
// 在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
mMapView.onPause();
}

public void resetClick() {
// 添加绘制元素
addCustomElementsDemo();
}

public void clearClick() {
// 清除所有图层
mMapView.getMap().clear();
}

}


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="fill_parent"
android:layout_height="410dp"
android:clickable="true" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="resetBtn" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="clearBtn" />

</LinearLayout>

</LinearLayout>


需要百度sdk等等,权限啥的,自行到官方查询
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐