package xiaosi.baiduMap;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.Toast;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.GeoPoint;
import com.baidu.mapapi.ItemizedOverlay;
import com.baidu.mapapi.MapActivity;
import com.baidu.mapapi.MapController;
import com.baidu.mapapi.MapView;
import com.baidu.mapapi.OverlayItem;
public class BaiduMapActivity extends MapActivity
{
/** Called when the activity is first created. */
private BMapManager mapManager = null;
private String key = "1B79478DA01F7800AEA8602517A6D89B38151105";
private MapView mapView = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapManager = new BMapManager(getApplication());
mapManager.init(key, null);
super.initMapActivity(mapManager);
mapView = (MapView) findViewById(R.id.mapsView);
mapView.setBuiltInZoomControls(true); // 设置启用内置的缩放控件
MapController mapController = mapView.getController(); // 得到mMapView的控制权,可以用它控制和驱动平移和缩放
mapController.setZoom(12); // 设置地图zoom级别
Drawable marker = getResources().getDrawable(R.drawable.d); //得到需要标在地图上的资源
mapView.getOverlays().add(new OverItemT(marker, this)); //添加ItemizedOverlay实例到mMapView
}
class OverItemT extends ItemizedOverlay<OverlayItem>
{
private List<OverlayItem> GeoPointList = new ArrayList<OverlayItem>();
private Context mContext;
//三个坐标
private double coordinateX1= 39.90923;
private double coordinateY1 = 116.397428;
private double coordinateX2 = 39.9022;
private double coordinateY2 = 116.3922;
private double coordinateX3 = 39.917723;
private double coordinateY3 = 116.3722;
private double coordinateX4 = 39.90923;
private double coordinateY4 = 116.3922;
public OverItemT(Drawable marker, Context context)
{
//调整一个drawable边界,使得(0,0)是这个drawable底部最后一行中心的一个像素。
super(boundCenterBottom(marker));
this.mContext = context;
// 用给定的经纬度构造GeoPoint,单位是微度 (度 * 1E6)
GeoPoint point1 = new GeoPoint((int) (coordinateX1 * 1E6), (int) (coordinateY1 * 1E6));
GeoPoint point2 = new GeoPoint((int) (coordinateX2 * 1E6), (int) (coordinateY2 * 1E6));
GeoPoint point3 = new GeoPoint((int) (coordinateX3 * 1E6), (int) (coordinateY3 * 1E6));
GeoPoint point4 = new GeoPoint((int) (coordinateX4 * 1E6), (int) (coordinateY4 * 1E6));
/*OverlayItem(GeoPoint point, String title, String snippet)
* point 该item的位置
* title 该item的标题文本
* snippet 该item的文字片段
*/
GeoPointList.add(new OverlayItem(point1, "P1", "写字楼"));
GeoPointList.add(new OverlayItem(point2, "P2", "西城区政府"));
GeoPointList.add(new OverlayItem(point3, "P3", "招待所"));
GeoPointList.add(new OverlayItem(point4, "P4", "小学"));
// createItem(int)方法构造item。一旦有了数据,在调用其它方法前,首先调用这个方法
populate();
}
@Override
protected OverlayItem createItem(int i)
{
return GeoPointList.get(i);
}
@Override
public int size()
{System.out.println("Size;" + GeoPointList.size());
return GeoPointList.size();
}
@Override
// 处理当点击事件
protected boolean onTap(int i)
{
//getSnippet() 该item的文字片段
Toast.makeText(this.mContext, GeoPointList.get(i).getSnippet(),
Toast.LENGTH_SHORT).show();
return true;
}
}
@Override
protected boolean isRouteDisplayed()
{
return false;
}
@Override
protected void onDestroy()
{
if (mapManager != null)
{
mapManager.destroy();
mapManager = null;
}
super.onDestroy();
}
@Override
protected void onPause()
{
if (mapManager != null)
{
mapManager.stop();
}
super.onPause();
}
@Override
protected void onResume()
{
if (mapManager != null)
{
mapManager.start();
}
super.onResume();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Android学习笔记之百度地图(分条目覆盖物:ItemizedOverlay)
共32个文件
class:8个
png:6个
xml:3个
5星 · 超过95%的资源 需积分: 16 183 下载量 143 浏览量
2012-03-05
15:47:46
上传
评论 3
收藏 1.69MB RAR 举报
温馨提示
Android学习笔记之百度地图(分条目覆盖物:ItemizedOverlay)
资源推荐
资源详情
资源评论
收起资源包目录
BaiduMap.rar (32个子文件)
BaiduMap
AndroidManifest.xml 2KB
res
layout
main.xml 445B
drawable-ldpi
ic_launcher.png 2KB
drawable-mdpi
ic_launcher.png 3KB
drawable-hdpi
a.gif 274B
d.gif 2KB
e.jpg 10KB
ic_launcher.png 4KB
values
strings.xml 182B
proguard.cfg 1KB
src
xiaosi
baiduMap
BaiduMapActivity.java 4KB
bin
classes
xiaosi
baiduMap
R.class 510B
BaiduMapActivity$OverItemT.class 3KB
R$layout.class 385B
R$attr.class 331B
R$id.class 377B
R$string.class 418B
BaiduMapActivity.class 2KB
R$drawable.class 473B
res
drawable-ldpi
ic_launcher.png 2KB
drawable-mdpi
ic_launcher.png 2KB
drawable-hdpi
ic_launcher.png 4KB
classes.dex 104KB
BaiduMap.apk 883KB
resources.ap_ 24KB
.classpath 431B
assets
project.properties 360B
.settings
org.eclipse.jdt.core.prefs 208B
libs
armeabi
baidumapapi.jar 216KB
libBMapApiEngine_v1_3_0.so 1.5MB
.project 844B
gen
xiaosi
baiduMap
R.java 882B
共 32 条
- 1
sjf0115
- 粉丝: 2028
- 资源: 146
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
前往页