歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android上的Google Map 開發總結

Android上的Google Map 開發總結

日期:2017/3/1 11:11:26   编辑:Linux編程

1. 地圖和線的繪制

本章設計到的源碼請從下面的位置下載

相關文件下載在Linux公社的1號FTP服務器裡,下載地址:

FTP地址:ftp://www.linuxidc.com

用戶名:www.linuxidc.com

密碼:www.muu.cc

在 2011年LinuxIDC.com\10月\10月\Android上的Google Map 開發總結

下載方法見 http://www.linuxidc.net/thread-1187-1-1.html

1.1 地圖上繪制一個Logo

1.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);
}

}
}
}

Copyright © Linux教程網 All Rights Reserved