Reference:
https://developers.google.com/maps/documentation/android-api/controls#toolbar
Code sinppet:
mMap.getUiSettings().setMapToolbarEnabled(false);
2016年1月25日 星期一
2015年12月8日 星期二
Get boundary coordinates of visible region on Google Map
Reference:
http://stackoverflow.com/questions/14700498/android-google-maps-get-boundary-co-ordinatesCode snippet:
LatLngBounds curScreen = googleMap.getProjection().getVisibleRegion().latLngBounds;2015年11月11日 星期三
Check if Google Play Service is available
Reference:
http://stackoverflow.com/questions/18737632/how-to-check-google-play-services-versionhttp://stackoverflow.com/questions/28479849/when-does-isgoogleplayservicesavailable-return-service-version-update-required
http://stackoverflow.com/questions/25989727/isgoogleplayservicesavailable-always-returns-2
http://www.4byte.cn/question/135275/googlemap-v2-crash-if-first-use-android.html
Code snippet:
public static void checkGooglePlayServiceAvailability(Activity activity){Log.d(TAG,"sdk gms versionCode: " + GooglePlayServicesUtil.GOOGLE_PLAY_SERVICES_VERSION_CODE);
try{
int deviceGmsVersion = activity.getPackageManager().getPackageInfo("com.google.android.gms",0).versionCode;
Log.d(TAG,"" + "device gms versionCode: " + deviceGmsVersion);
} catch(Exception e){
e.printStackTrace();
}
int statusCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(activity);
Log.e(TAG,"statuscode: " + statusCode);
Log.e(TAG,"error string: " + GooglePlayServicesUtil.getErrorString(statusCode));
if(statusCode != ConnectionResult.SUCCESS){
if(GooglePlayServicesUtil.isUserRecoverableError(statusCode)){
Dialog errorDialog = GooglePlayServicesUtil.getErrorDialog(statusCode, activity, 0);
// If Google Play services can provide an error dialog
if (errorDialog != null) {
errorDialog.show();
}
}
}
}
2015年10月15日 星期四
如何在 App 畫面上顯示 Google map
Reference:
https://developers.google.com/maps/documentation/android-api/map#indoor_mapshttps://developer.android.com/guide/topics/location/index.html
Illustration:
按照“取得 Google map的 API key”一文,取得了 Google Map API key之後,之後在下列檔案新增紅字的部分,就可以在你的 app裡面顯示 Google map了1. AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="your_package_name" >
<permission android:name="your_package_name.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
<uses-permission android:name="your_package_name.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<!--
The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
Google Maps Android API v2, but are recommended.
-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
...... >
<meta-data
android:name="com.google.android.gms.version"
android:value="6587000" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/google_maps_key" />
.......
</application>
<!--
如果使用OpenGL ES version 2來顯示
避免 Google Play Store 認為我們的 App 不支援 OpenGL ES version 2
-->
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
</manifest>
2. res/values/google_maps_key.xml
<resources>......
<string name="google_maps_key" translatable="false" templateMergeStrategy="preserve">
YOUR_KEY_HERE
</string>
</resources>
取得 Google map的 API key
Reference:
http://developer.android.com/tools/publishing/app-signing.html
https://developers.google.com/maps/documentation/android-api/signup
http://wazai.net/1916/%E7%B0%BD%E7%BD%B2%E4%BD%A0%E7%9A%84android%E6%87%89%E7%94%A8%E7%A8%8B%E5%BC%8F-keystorehttps://developers.google.com/maps/documentation/android-api/signup
Step:
1. 打開命令提示字元視窗,輸入下列的指令:keytool -genkey -v -keystore yourkeyname.keystore -alias yourkeyname -keyalg RSA -keysize 2048 -validity 10000
Note:
如果這邊出現「keytool: command not found」,請把$JAVA_HOME\bin加入環境變數$PATH中,或是直接到$JAVA_HOME\bin\目錄下執行 keytool,例如 $JAVA_HOME\bin是 C:\Program Files\Java\jdk1.7.0_02\bin,就先cd C:\Program Files\Java\jdk1.7.0_02\bin之後開始輸入上面的指令。
將上述指令 -keystore yourkeyname.keystore以及 -alias yourkeyname中的 yourkeyname改成自己要的名字,其他東西照著貼上就好,-validity官方說明文件建議設定10000以上的值
Ex:
keytool -genkey -v -keystore jasonrelease.keystore -alias jasonrelease -keyalg RSA -keysize 2048 -validity 10000
2. 將產生的 yourkeyname.keystore移到 $JAVA_HOME\bin\目錄下
3. 在命令提示字元視窗輸入下列指令
keytool -list -v -keystore jasonrelease.keystore
android debug key:
keytool -list -v -keystore debug.keystore
password:android
android debug key:
keytool -list -v -keystore debug.keystore
password:android
4. 將 SHA1編碼複製起來,等一下在 Google API Console網頁會使用到
5. 利用 Google搜尋 Google API Console,找到Google API註冊網站
https://console.developers.google.com/
6. API -> Google Maps Android API -> 啟用
7. 憑證 -> 新增憑證 -> API金鑰 -> 「Android」金鑰
8. 新增「套件名稱和指紋」
9. 輸入開發的 app的套件名稱和剛剛複製起來的 SHA1編碼,點擊建立按鈕後完成
訂閱:
文章 (Atom)