google map 是android platform中眾多應用程式中的一員。
在移動開發中有兩種方法使用google map。
注意:使用此方法需在androidmanifest.xml中加入相應的訪問許可權
第二種就是使用google map jar 包的開發。通過建立mapactivity,並使用mapview來呈現地圖。
注意:使用此方法需在androidmanifest.xml中加入相應的訪問許可權
googlemap library:
1)mapview:
mapview是用來顯示地圖的view。當mapview獲得焦點,可以控制地圖的移動和縮放。
地圖可以以不同的形式來顯示出來,如街景模式,衛星模式等,通過setsatellite(boolean) settraffic(boolean), setstreetview(boolean) 方法。
mapview只能被mapactivity來建立,這是因為mapview需要通過後台的執行緒來連線網路或者檔案系統,而這些執行緒要由mapactivity來管理。
需要特別說明的一點是,從android 1.5開始,map的zoom採用了built-in機制,可以通過setbuiltinzoomcontrols(boolean)來設定是否在地圖上顯示zoom控制項。
常用方法:getcontroller() getoverlays() setsatellite(boolean) settraffic(boolean), setstreetview(boolean) setbuiltinzoomcontrols(boolean) 等。
2)mapactivity:
mapactivity是乙個抽象類,任何想要顯示mapview的activity都需要派生自mapactivity。並且必須在其派生類的 oncreate()中,建立乙個mapview例項,可以通過new mapview 或者通過layout xml來建立。
3)mapcontroller
控制地圖移動,伸縮,以某個gps座標為中心,控制mapview中的view,管理overlay,提供view的基本功能。使用多種地圖模式(地圖模式(某些城市可實時對交通狀況進行更新),衛星模式,街景模式)來檢視google map。
常用方法:animateto(geopoint point)setcenter(geopoint point)setzoom(int zoomlevel) 等。
4)overlay
overlay是覆蓋到mapview的最上層,可以擴充套件其ondraw()介面,自定義在mapview中顯示一些自己的東西。mapview通過mapview.getoverlays()對overlay進行管理。
除了overlay這個基類,google還擴充套件了2個比較有用的overlay
1.mylocationoverlay—整合了android.location中接收當前座標的介面,整合sersormanager中compasssensor的介面
我們只需要enablemylocation(),enablecompass就可以讓我們的程式擁有實時的mylocation以及compass 功能(activity.onresume()中)。
2.itemlizedoverlay—管理乙個overlayitem鍊錶,用等資源在地圖上作風格相同的標記。
5)projection:mapview中gps座標與裝置座標的轉換(geopoint和point)。
另外:android.location包下的geocoder類可以實現街道位址與經緯度之間的轉換。
效果圖:
注:**問題不能展示地圖。實際可以。
xml layout:
<?xml version="1.0" encoding="utf-8"?>
UICollectionView的簡單使用
所屬controller要遵循三個協議 uicollectionviewdatasource,uicollectionviewdelegate,uicollectionviewdelegateflowlayout uicollectionviewflowlayout flowlayout uicol...
BGAQRCode Android的簡單使用
compile com.google.zxing core 3.2.1 xmlns android 這句是使用選擇器框架時用到的 xmlns tools package com.huaqiang.zxingdemo 選擇框架用到 android name android.permission.cam...
Android VideoView的簡單使用
mvideoview.setvideouri uri.parse android.resource getpackagename r.raw play 設定乙個 控制器 控制器預設在父布局的地步 可以自己實現控制器布局 mvideoview.setmediacontroller new mediac...