我正在尝试在我的 PhoneGap / Android 应用程序上添加月球地图。
当我尝试在应用程序上使用 Google 地球 API 时,我收到以下错误:
The Google Earth Plugin is currently only available on Windows and Mac OS X 10.6+.
是否有另一种方法,甚至可能是另一种 API,在移动设备上创建月球地图。
我正在尝试在我的 PhoneGap / Android 应用程序上添加月球地图。
当我尝试在应用程序上使用 Google 地球 API 时,我收到以下错误:
The Google Earth Plugin is currently only available on Windows and Mac OS X 10.6+.
是否有另一种方法,甚至可能是另一种 API,在移动设备上创建月球地图。
There are not any current published API's for Google Earth Android version. The current version does handle search intents. You can launch Google Earth in Android and fly to a location with the following intent: Please keep in mind Google could change this at any time and the following code might not work.
// the new intent we will launch
Intent myIntent = new Intent();
// send the intent directly to the google earth activity that can
handle search
myIntent.setClassName("com.google.earth",
"com.google.earth.EarthActivity");
// we are doing a search query
myIntent.setAction(Intent.ACTION_SEARCH);
// change this address to any address you want to fly to
myIntent.putExtra(SearchManager.QUERY, "2900 Frenchmen Street, New
Orleans, LA");
// always trap for ActivityNotFound in case Google earth is not on the
device
try {
// launch google earth and fly to location
this.startActivity(myScanIntent);
}
catch (ActivityNotFoundException e) {
showGoogleEarthDialog();
}
...
// if the user does not have google earth prompt to download it
private void showGoogleEarthDialog() {
AlertDialog.Builder downloadDialog = new AlertDialog.Builder(this);
downloadDialog.setTitle("Install Google Earth?");
downloadDialog.setMessage("This application requires Google Earth.
Would you like to install it?");
downloadDialog.setPositiveButton("Yes", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int i) {
Uri uri = Uri.parse("market://search?
q=pname:com.google.earth");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
MainActivity.this.startActivity(intent);
}
});
downloadDialog.setNegativeButton("No", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int i) {}
});
downloadDialog.show();
}