●程式說明:

1.開啟一個新的專案,可以直接開google map activity,title可以自己設定
 
2.開啟會跳出這個頁面,要取得google maps api key
GoogleMap
 
3.用模擬器測試時,會跳出google service要更新的訊息,然後按按鈕更新,但不要在這邊做更新會卡住
要到sdk manager=>勾選show package details=>下載google apis intel x86 atom system image
=>更新完以後要砍掉舊的模擬器,因為舊的模擬器是用舊版的模擬器影像檔做出來的
=>要重新安裝一次模擬器
=>目前版本不需要刪除模擬器就可以直接run
=>如果是用手機就可以直接更新
GoogleMap
 
4.用模擬器測試,左下角出現google icon代表google service更新成功
GoogleMap
 
5.解決api key的問題
a.複製網址貼到瀏覽器
GoogleMap
 
b.取得api key
 
API KEY
 
要建立憑證才能取得API金鑰
API KEY
c.把金鑰貼到google_maps_api.xml檔中,位置如下:
 
d.用模擬器跑可以出現地圖
Google Map
 
**注意上傳到github不要有金鑰資料
 
6.修改程式,在mainactivity中有如下程式碼:
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;
 
    // Add a marker in Sydney and move the camera
    LatLng sydney = new LatLng(-34151);
    mMap.addMarker(new MarkerOptions().position(sydney)
    .title("Marker in Sydney"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}
**說明:
1.onMapReady:地圖載完之後要做的事
2.addMarker:加mark
3.moveCamera:移動相機到指定位置
 
7.調整內容
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;
    LatLng TaipieEgg = new LatLng(25.0513481121.5486728);
    LatLng Hospital= new LatLng(25.0477974121.5486488);
    mMap.addMarker(new MarkerOptions().position(TaipieEgg).title("台北小巨蛋"));
    mMap.addMarker(new MarkerOptions().position(Hospital).title("台安醫院"));
    mMap.moveCamera(CameraUpdateFactory
   .newLatLngZoom(TaipieEgg,18));
}
**說明:
1.再加一個LatLng物件,多一個addMarker,可以同時顯示很多個marker
2.newLatLngZoom,可以設定放大倍率
3.可以查google maps api手冊中的MarkerOptions,裡面有很多方法可以用

 

*注意,在使用內建的Google Maps Activity可能會遇到下面這個問題

(出現訊息:inconvertible types; cannot cast 'android.support.v4.app.fragment' to 'com.google.android.gms.maps.SupportMapFragment' )

=>要把SupportFragmentManger轉為SupportMapFragment時,出現紅線顯示無法轉換type,這是因為在google paly-services-maps:17.0.0中,SupportMapFragmentnow 改為extends androidx.fragment.app.Fragment,而非android.support.v4.app.Fragment

Google Map

=>解決辦法是把play-services-maps改為16.0.1或是把專案整合為androidX版本,這邊是直接改play service版本

Google Map

 

●程式參考(GitHub):使用Android Studio內建Google Maps Activity建立Google Map

arrow
arrow
    創作者介紹
    創作者 muchone 的頭像
    muchone

    簡單。生活。享受

    muchone 發表在 痞客邦 留言(1) 人氣()