在 Android 中,
可以使用 Google Map JavaScript API,
讓 WebView 顯示 Google Map 地圖,
參考範例, 如下 :
權限
<uses-permission android:name="android.permission.INTERNET" />
Layout XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:id="@+id/main"
>
<WebView android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
Android 程式碼
public class HelloWorld extends Activity { private static final String MAP_URL = "http://gmaps-samples.googlecode.com/svn/trunk/articles-android-webmap/simple-android-map.html"; private int gMapZoom = 8; private WebView gWebView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setupWebView(); this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } private void setupWebView(){ final String centerURL = "javascript:initialize();" + "centerAt(" + -34.397 + "," + 150.644 + ");" + "map.setZoom(" + gMapZoom + ");"; gWebView = (WebView)findViewById(R.id.webview); // JavaScript 啟用 gWebView.getSettings().setJavaScriptEnabled(true); // 網頁執行完成後, 接著要執行的網頁 (也可是 JavaScript) gWebView.setWebViewClient(new WebViewClient(){ @Override public void onPageFinished(WebView view, String url){ view.loadUrl(centerURL); } }); gWebView.loadUrl(MAP_URL); } }
範例 :