googlemap 高德地图mapabc 图吧 显示地图,标注一个或多个poi信息点,弹出气泡显示poi点的位置信息
2012-06-06 11:03
811 查看
老规矩,先上图,有图有真相。
这个Demo实现了如下功能:
1.显示地图
2.标注一个或多个poi信息点
3.弹出气泡显示信息点的信息
4.如果你用的是高德地图或者图吧地图的话,只需要把引入包换掉,然后把代码中2个.java文件中的关于引入的googlemap的类换成mapabc的或者图吧的即可用。
5.需要注意的是:高德地图的api需要申请一个apiKey,而图吧的不需要。
6.图吧的api开放程度没有googlemap和mapabc大。
(1)申请apiKey,代码中popmap.xml中的android:apiKey的值需要换成你自己的,否则地图显示不出来
打开Eclipse--->Windows--->Preferences--->Android--->Build
查看默认的debug keystore位置,我的是C:\Documents and Settings\hackang\Local Settings\Application Data\Android\debug.keystore
在cmd中执行
keytool -list -alias androiddebugkey -keystore "C:\Documents and Settings\hackang\Local Settings\Application Data\Android\debug.keystore" -storepass android - keypass android
双引号中的为你keystore位置
执行结果:
androiddebugkey, 2009-2-17, keyEntry,
认证指纹 (MD5): XXXXXXXXXXXXXXXXXXXXXXXXXXXX
打开http://code.google.com/intl/zh-CN/android/maps-api-signup.html
填入你的认证指纹(MD5)即可获得apiKey了
layout的xml文件中加入MapView
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="XXXXXXXXXXXXXXXXXXXXXXXXXXXX" />
(2)标注一个或多个poi信息点
MyItemizedOverlay overlay = new MyItemizedOverlay(this, drawable); //构造一个标记对象
// 设置显示/隐藏气泡的监听器,因为点击标记的时候会弹出气泡
overlay.setOnFocusChangeListener(onFocusChangeListener);
//构造一个经纬度点,这个是你所要标记的poi点
GeoPoint point = new GeoPoint((int) (39.907 * 1E6),
(int) (116.391 * 1E6));
// 创建标记(北京万达电影城CBD店)
OverlayItem overlayItem = new OverlayItem(point, "北京万达电影城CBD店",
"影院地址:北京市朝阳区大望路万达广场");
// 将标记添加到图层中(可添加多个OverlayItem)
overlay.addOverlay(overlayItem);
如果要标记多个poi点就gou构造多个GeoPoint和OverlayItem对象加到MyItemizedOverlay对象中。
(3)弹出气泡显示信息点的信息
popView = View.inflate(this, R.layout.popview, null);//自定义气泡View对象
mapView = (MapView) findViewById(R.id.map_view); //地图对象
mapView.addView(popView, new MapView.LayoutParams( //把气泡加到地图对象上
MapView.LayoutParams.WRAP_CONTENT,
MapView.LayoutParams.WRAP_CONTENT, null,
MapView.LayoutParams.BOTTOM_CENTER));
当点击标记的时候就给气泡里面的元素设置值。
好了,不多说了,开会去了。
源码下载地址:
http://download.csdn.net/detail/nicholas6lee/4355197
这个Demo实现了如下功能:
1.显示地图
2.标注一个或多个poi信息点
3.弹出气泡显示信息点的信息
4.如果你用的是高德地图或者图吧地图的话,只需要把引入包换掉,然后把代码中2个.java文件中的关于引入的googlemap的类换成mapabc的或者图吧的即可用。
5.需要注意的是:高德地图的api需要申请一个apiKey,而图吧的不需要。
6.图吧的api开放程度没有googlemap和mapabc大。
(1)申请apiKey,代码中popmap.xml中的android:apiKey的值需要换成你自己的,否则地图显示不出来
打开Eclipse--->Windows--->Preferences--->Android--->Build
查看默认的debug keystore位置,我的是C:\Documents and Settings\hackang\Local Settings\Application Data\Android\debug.keystore
在cmd中执行
keytool -list -alias androiddebugkey -keystore "C:\Documents and Settings\hackang\Local Settings\Application Data\Android\debug.keystore" -storepass android - keypass android
双引号中的为你keystore位置
执行结果:
androiddebugkey, 2009-2-17, keyEntry,
认证指纹 (MD5): XXXXXXXXXXXXXXXXXXXXXXXXXXXX
打开http://code.google.com/intl/zh-CN/android/maps-api-signup.html
填入你的认证指纹(MD5)即可获得apiKey了
layout的xml文件中加入MapView
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="XXXXXXXXXXXXXXXXXXXXXXXXXXXX" />
(2)标注一个或多个poi信息点
MyItemizedOverlay overlay = new MyItemizedOverlay(this, drawable); //构造一个标记对象
// 设置显示/隐藏气泡的监听器,因为点击标记的时候会弹出气泡
overlay.setOnFocusChangeListener(onFocusChangeListener);
//构造一个经纬度点,这个是你所要标记的poi点
GeoPoint point = new GeoPoint((int) (39.907 * 1E6),
(int) (116.391 * 1E6));
// 创建标记(北京万达电影城CBD店)
OverlayItem overlayItem = new OverlayItem(point, "北京万达电影城CBD店",
"影院地址:北京市朝阳区大望路万达广场");
// 将标记添加到图层中(可添加多个OverlayItem)
overlay.addOverlay(overlayItem);
如果要标记多个poi点就gou构造多个GeoPoint和OverlayItem对象加到MyItemizedOverlay对象中。
(3)弹出气泡显示信息点的信息
popView = View.inflate(this, R.layout.popview, null);//自定义气泡View对象
mapView = (MapView) findViewById(R.id.map_view); //地图对象
mapView.addView(popView, new MapView.LayoutParams( //把气泡加到地图对象上
MapView.LayoutParams.WRAP_CONTENT,
MapView.LayoutParams.WRAP_CONTENT, null,
MapView.LayoutParams.BOTTOM_CENTER));
当点击标记的时候就给气泡里面的元素设置值。
好了,不多说了,开会去了。
源码下载地址:
http://download.csdn.net/detail/nicholas6lee/4355197
相关文章推荐
- 读取本地XML文件信息,在地图上添加标注,显示当前位置详细地理信息
- 登陆 注册 (登陆时显示用户信息,未登录是显示登陆框。----- 一个位置显示)
- 3.0+百度地图在地图初始化的时候就弹框展示一个信息框,而不是用户点击poi时才弹出
- 高德地图---显示/定位/POI搜索/大头针/气泡
- 凨-百度地图API之地图标注(JS版),地理位置信息,根据地址获取经度纬度
- 百度地图API显示多个标注点,解决提示信息问题以及给标注增加地图旁的文字连接提示的另一种解决办法
- CSDN博客加句代码,显示自己的信息固定在一个位置
- jquery.validate 多条提示信息只显示第一条且出现在指定位置(非弹出框)
- Android 高德地图 自己位置的显示与点地图上任意一点的坐标
- Android 外部调起高德地图显示坐标点 自定义 标注高德地图 by Terry
- [VB.NET]我打开网页的时候会弹出一个安全信息,然后出现:本页包含安全能容和不安全内容,是否显示不安全内容”请达人指教一下怎么删除这个提示
- 高德地图---显示/定位/POI搜索/大头针/气泡
- Android高德地图获取当前地理位置(不显示地图只获取当前位置)
- 百度地图,根据地图上任意一点的经纬度获取周边最近的POI位置信息
- 通过poi获取到了商店的地理位置之后,如何获取商店的详细信息。是需要商店提供还是地图提供
- iOS8地图点击标注显示详细信息(医药吧数据)
- Swift之高德地图自定义标注弹出气泡样式
- C#在同一个控件的不同位置显示提示信息
- iOS:实现MKAnnotation协议,在地图上设置大头针,点击显示具体的位置信息
- PHP连接mysql数据库,调用Google Map显示不同地方地图信息,使用Javascript弹出悬浮信息窗口展示。