Bing Maps 7はKMLをサポートしていますか?


9

例を見つけることができません。以下のようなコードを見つけましたが、これは以前のバージョン用です。

shapeLayer = new VEShapeLayer();
shapeSpec = new VEShapeSourceSpecification(VEDataType.ImportXML, layer.url, shapeLayer);
veMap.ImportShapeLayerData(shapeSpec);

この例はkmlを表していないと思います。これは、訓練されていない目にはesriシェープファイルのように見えます。そうは言っても、bingとGEの間でマッシュアップを行うことができると思いますが、制限についてはライセンスを読んでください。
Brad Nesom、2011

ESRIシェープファイルBradとは関係ありません。APIのDOCOから- msdn.microsoft.com/en-us/library/bb412413.aspx VEShapeLayerクラスはシェイプレイヤーに関する情報が含まれます。シェイプレイヤーは、シェイプの任意のグループ(猫、ポリライン、ポリゴン)を作成および管理するためのメカニズムです。マップシェイプレイヤーは、GeoRSS XMLファイル、カスタムマップタイル、または任意のパブリックBingマップ(maps.live.com)コレクションから作成できます。
user2856 '19

回答:


2

上記のとおり、GeoRSSとKMLはサポートされていません。ただし、誰かがBing Maps v7用のGeoRSSインタープリターを作成しました。また、KMLファイルとGeoRSSファイルはどちらもXMLであるため、XSLを使用して2つのファイルを簡単に変換できます。一部の狩猟では、多くの人がそれについて話していることを示していますが、それを行う実際のXSLファイルは見つかりません。しかし、私はそれを逆にして、GeoRSSをKML変換しているものを見つけました。

これを1回だけ行う必要がある場合は、次の2つのWebサイトを使用して、KMLをCSV経由でGeoRSSに変換できます。

  1. XSLを使用したKMLからCSVへのコンバーター
  2. GeoRSSのWebアプリケーションへのCSV

最後のオプションは、@ Derekに基づいて誰かが独自のGeoRSSインタープリターを作成したのと同じ方法で、独自のKMLインタープリターを作成することです。


私は混乱しています... Bing Maps APIでGeoRSSはどのようにサポートされていますか?独自の解析コードを書くことは「サポートされている」と見なされると言うのはかなりのストレッチです。
Derek Swingley、2011

申し訳ありませんが、サポートされていませんが、リンクし投稿には、Bing v7のjQueryでGeoRSSを使用するためのインタープリターがあります。より明確になるように書き直します。
Patrick

4

答えはノーのようです。これは、SDKのドキュメントとこのスレッドを見て、Bing Maps Ajax Control v7でKMLまたはGeoRSSの例を探すに基づいて言っています 。

KMLサポートが重要な場合は、EsriのArcGIS API for JavaScriptを使用できます。これは、KMLレイヤーがパブリックにアクセスできるためです。完全な開示:JavaScript APIチームのEsriで働いています。


好奇心:JSAPIのESRIライセンスは読みにくいと思います。誰でもjsapiを使用して地図を公開できますか?たとえば、JSAPIを使用してbingマップを表示し、ESRIライセンスに違反しないようにできますか?google、OSM、ESRIパブリックタイルでも同じですか?または、ユーザーがArcGIS Serverユーザーである必要がありますか?OLは開いていますが、JSAPIですか?
ca0v

1
@ user2023私たちはJSAPIライセンスについて内部で話し合っており、話が明確でないことに同意します。私たちはこれを改善するために取り組んでおり、よりシンプルで理解しやすいライセンスの話を反映するようにいくつかのページを更新する予定です。さまざまなページが更新されるまでは、話は次のとおりです。内部、外部、非商用、商用のサイト/アプリにJSAPIを無料で使用します。arcgis.comに大量のデータを保存し、arcgis.comのサービス(ジオメトリ、ロケーター/ジオコーディング、ルーティング)を使用し始めない限り、料金を支払う必要はありません。
Derek Swingley、2012

2

Bing Maps 7.0にはKMLコンバーターは含まれていません。ただし、JavaScriptオブジェクトを使用してデータを地図に表示するため(Bing APIを参照)、kmlを手動で解析して、対応するオブジェクトに変換できます。

では、このコード例で、私は新しいMicrosoft.Maps.PolygonオブジェクトにKMLポリゴンデータを変換するために、JavaScriptを使用しています。次に、以下のコードを使用して、ポリゴンをBingマップに追加します。

// Initialize the Map.
var map = new Microsoft.Maps.Map(document.getElementById("mapDiv"), {credentials:"Bing Maps Key"});

// Insert your own code to get your KML string here.

// Parse the kml into Microsoft.Maps.Polygon objects and add them to the map.
var polygons = bingKmlParser.parsePolygons(kmlString);
map.entities.push(polygons);

KMLは特定の形である必要がありますか?または、これは任意のKMLファイルで機能しますか?
J86

1

Openlayersを使用してください!! KMLファイルを読み込み、Bingをベースマップレイヤーとして設定できます。そして何よりも、オープンソースであり、完全に安定しており、非常にアクティブなプロジェクトです。

http://dev.openlayers.org/sandbox/rdewit/kml/examples/kml_wmsc_ows5.html

http://openlayers.org/dev/examples/bing.html


問題に対する実際の回答ではありませんが、適切な回避策です。
ca0v 2011

0

他のほとんどの投稿で述べたように、KMLはBing Maps Ajaxコントロールv7で直接サポートされているようには見えません。ただし、法線マップのGUIでサポートされていることに言及する価値があると思いました。次のBingブログ投稿では、KMLをBing Mapsの「マイプレイス」にインポートする方法について説明しています。

質問が求めていたものとは異なりますが、そのような状況に役立つ可能性があります。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.