1

KML を文字列として Google マップ アプリケーションに渡すことはできますか?

コードスニペット:

//KML String
 String document = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><kml xmlns=\"http://www.opengis.net/kml/2.2\"><Document><Folder><name>Paths</name><open>0</open><Placemark><LineString><tessellate>1</tessellate><coordinates> -112.0814237830345,36.10677870477137,0 -112.0870267752693,36.0905099328766,0</coordinates></LineString></Placemark></Folder></Document></kml>";

//Invoke Google Maps

int module = CodeModuleManager.getModuleHandle("GoogleMaps");

if (module == 0) {
  try {
    throw new ApplicationManagerException("GoogleMaps isn't installed");
  } catch (ApplicationManagerException e) {
    System.out.println(e.getMessage());
  } 
}

String[] args = {document}; //Is this possible???
ApplicationDescriptor descriptor = CodeModuleManager.getApplicationDescriptors(module)[0];
ApplicationDescriptor ad2 = new ApplicationDescriptor(descriptor, args);
try {
     ApplicationManager.getApplicationManager().runApplication(ad2, true);
    } catch (ApplicationManagerException e) {
      System.out.println(e.getMessage());
 }
4

2 に答える 2

0

多くの研究開発の結果...私が見つけた答えは-いいえKMLを文字列として渡すことはできません。

Google マップ モバイルは URL パラメータを受け入れます。これは「http://」の形式である必要があり、特定のパラメータ (「http://gmm/x ?....」など) または KML ファイル (「http://.. ../sample.kml ")。

于 2010-07-12T04:37:45.770 に答える
0

GoogleMaps API を使用して、mapFile (KML、gpx、txt) IF を解析する必要があります。

KML ファイルを googlemaps ウィンドウ内に表示することだけが必要な場合は、標準のhttp://www.googlemaps.com に移動し、ADDRESS ボックス内に kml ファイルの完全な http アドレスを入力します。

2012 年 4 月までは、これは完全に機能し、サイドバーにはクリック可能なアイテムが正しく表示されていました (サイドバー エントリをクリックすると [たとえば、「ポイント 1」は同等の場所に移動します)。2012 年 5 月現在、この機能は正しく動作していません。

さらに一歩進めたい場合は、PHP ページに kml をエコーさせることができます (データベースまたはファイルからのオンザフライ KML レンダリング)。ただし、googlemaps は動的に生成された出力を 10 ~ 15 分間更新しません。

GoogleMaps API vs3 用の JavaScript GPX および TXT mapFile レンダリングが必要な場合は、私に連絡してください

于 2012-06-01T21:36:25.330 に答える