首页 / 操作系统 / Linux / Android上的Google Map 开发总结
1. 地图和线的绘制本章设计到的源码请从下面的位置下载相关文件下载在Linux公社的1号FTP服务器里,下载地址: FTP地址:ftp://www.linuxidc.com用户名:www.linuxidc.com密码:www.muu.cc在 2011年LinuxIDC.com10月10月Android上的Google Map 开发总结下载方法见 http://www.linuxidc.net/thread-1187-1-1.html1.1 地图上绘制一个Logo1.2 实现动态的位置回放的功能【动态更新GPS位置】2. 获取公交线路Android目前的SDK版本中, 不存在绘制公交线路的API, 正因为如此, 我们需要采用比较原始的方式,Android Google Map 轨迹回放源码, 可以用Google Map实现gps动态导航的功能。package com.ostrichmyself;import java.util.ArrayList; import java.util.HashMap;import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; import android.widget.SimpleAdapter;public class MapShow extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //load_grid0001(); super.onCreate(savedInstanceState); loadView(); } /** * Grid0001使用方式的代码 */ public void loadView() { setContentView(R.layout.appmain); GridView gridview = (GridView) findViewById(R.id.gridview); //生成动态数组,并且转入数据 ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>(); HashMap<String, Object> map = new HashMap<String, Object>(); map.put("ItemImage", R.drawable.service_maintenance);//添加图像资源的ID map.put("ItemText", "Map 展示");//按序号做ItemText lstImageItem.add(map); map = new HashMap<String, Object>(); map.put("ItemImage", R.drawable.service_ebusiness);//添加图像资源的ID map.put("ItemText", "自动回放");//按序号做ItemText lstImageItem.add(map); //生成适配器的ImageItem <====> 动态数组的元素,两者一一对应 SimpleAdapter saImageItems = new SimpleAdapter(this, //没什么解释 lstImageItem,//数据来源 R.layout.appmain_inneritem,//night_item的XML实现 //动态数组与ImageItem对应的子项 new String[] {"ItemImage","ItemText"}, //ImageItem的XML文件里面的一个ImageView,两个TextView ID new int[] {R.id.itemImage,R.id.itemText}); //添加并且显示 gridview.setAdapter(saImageItems); //添加消息处理 //gridview.setOnClickListener(new ClickListener()); gridview.setOnItemClickListener(new ItemClickListener()); } /** * 监听事件 * @author tiant5 * */ class ItemClickListener implements OnItemClickListener{ public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { if (arg2 == 0) { Intent intent = new Intent(MapShow.this, DisplayMap.class); Bundle bundle = new Bundle(); double longitude = Double.valueOf(114.567421); double latitude = Double.valueOf(40.491295); int lat = (int) (latitude * 1E6); int lng = (int) (longitude * 1E6); bundle.putInt(ConstConfiguration.BUDDLE_INT_KEY_LAT, lat); bundle.putInt(ConstConfiguration.BUDDLE_INT_KEY_LON, lng); intent.putExtras(bundle); startActivity(intent); } if (arg2 == 1) { Intent intent = new Intent(MapShow.this, TraceMap.class); Bundle bundle = new Bundle(); double longitude = Double.valueOf(114.567421); double latitude = Double.valueOf(40.491295); int lat = (int) (latitude * 1E6); int lng = (int) (longitude * 1E6); bundle.putInt(ConstConfiguration.BUDDLE_INT_KEY_LAT, lat); bundle.putInt(ConstConfiguration.BUDDLE_INT_KEY_LON, lng); intent.putExtras(bundle); startActivity(intent); } } } }
收藏该网址