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

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等等,权限啥的,自行到官方查询

时间: 2024-10-05 11:32:26

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

【百度地图API】建立全国银行位置查询系统(二)——怎样为地图添加控件

原文:[百度地图API]建立全国银行位置查询系统(二)--怎样为地图添加控件 <摘要>你将在第二章中学会以下知识: 使用手写代码的利器——notepad++: 如何为地图添加控件——鱼骨.鹰眼.比例尺.2D3D转换控件.版权控件. ----------------------------------------------------------------------------------------------------------------- 一.安装配置notepad++ 为什么

求最大子数组的和,以及求该最大子数组的起始位置和末尾位置

问题描述: 一个数组,长度为N,数组元素有负有正,如{-1, 4, 6, -3, 7, -3, -3, 9}:我们可以清楚的知道最大的子数组应该是4到9,也就是下标1到下标7,和为17. 求解思路: 第一种方法:我们可以用定义1.两个数ThisSum和MaxSum来记录当前数组的和,以及数组的最大和. 2.我们可以用两个for循环来来遍历数组,每一次求出子数组的最大和,每个子数组从0开始,下一次遍历子数组就是从1开始,以此类推.如第一次就[0~N-1]的最大和,第二次就是[1~N-1],第三次就

找出A字符串中出现B字符串的起始位置

1 /** 2 * 找出B出现在A中的起始位置 3 * @param A 4 * @param lenA 5 * @param B 6 * @param lenB 7 * @date 2016-10-7 8 * @author shaobn 9 */ 10 public static int findApperance(String A,int lenA,String B,int lenB){ 11 if(!A.contains(B) || lenB>lenA){ 12 return -1; 1

c# winform 窗体起始位置 设置

窗体起始位置为顶部中间,WinForm居中显示: int x = (System.Windows.Forms.SystemInformation.WorkingArea.Width - this.Size.Width) / 2; int y = (System.Windows.Forms.SystemInformation.WorkingArea.Height - this.Size.Height) / 2; this.StartPosition = FormStartPosition.Manu

设置UITextView光标从起始位置开始

一.刚开始用的时候,我加载的UITextView一直是这种情况: 当我在ViewController中设置这个属性: self.automaticallyAdjustsScrollViewInsets = NO; 变成了我们所需要的情况: 这个属性官方Doc中介绍的是设置一个BOOL值,用来指示是否视图控制器应该自动调整它的滚动视图插入.当设置不插入的时候,就会从起始位置开始.希望能够帮助到大家.

NGUI 解决UILable 在空行起始位置加‘\n’

NGUI 解决UILable 默认在顶满第一行时,在起始位置如键入空格无效,其原因就是会加入换行符,使字符串,整体换行了 解决办法加入bool变量控制 1在 UILable代码中添加 [HideInInspector][SerializeField] public bool wrapText = true; 2 在该函数中 void ProcessText (bool legacyMode, bool full) 对方法 // Wrap the text bool fits = NGUIText

如果单链表有环,求环的起始位置

问题:如果单链表中存在环,求环的起始位置 解:在上篇文章中,利用追逐法判断一个单链表是否存在环.求环的起始位置,需要求解单链表的长度和环的长度的关系.如果确定了单链表的长度和环的长度的关系,那么环的起始位置就呼之欲出了. 在判断单链表中有两个指针P和q,p每次前进两步,q每次前进一步,p的速度是q的两倍.设单链表的长度为L,环的长度为R,链表起点到环起点的距离为X,当p和q相遇时,慢指针总共走了S步,在环内总共走了a步,快指针总共走了2S步,此时满足:2S=S+n*R,所以S=n*R. S=X+

关于多线程下载时计算数据块大小、下载起始位置、结束位置的理解

首先,来一些假设: 1.假设数据总大小为len. 2.假设使用线程个数THREADSUM = 3: 3.blockSize:单个线程下载的数据块大小: startIndex:单个线程下载的起始位置: endIndex:单个线程下载的终止位置 --------------------------------------------------------------------------------------------- //计算单个线程下载的数据块大小 int blockSize = le

【百度地图API】建立全国银行位置查询系统(一)——如何创建地图

原文:[百度地图API]建立全国银行位置查询系统(一)--如何创建地图 <摘要>你将在第一章中学会以下知识: 如何创建一个网页文件 怎样利用百度地图API建立一张2D地图,以及3D地图 如何添加对地图进行鼠标和键盘操作的功能 ------------------------------------------------------------------------------------------------------------------- 一.创建网页文件 粘贴以下代码至记事本中