Bing Maps 7 รองรับ KML หรือไม่


9

ฉันไม่มีโชคในการหาตัวอย่าง ฉันพบรหัสเช่นนี้ด้านล่าง แต่สำหรับรุ่นก่อนหน้านี้

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

ฉันไม่คิดว่าตัวอย่างนี้แสดงถึง kml นี่ดูเหมือนไฟล์ esri ต่อตาที่ไม่ผ่านการฝึกฝนของฉัน ที่กล่าวว่าฉันแน่ใจว่าคุณสามารถทำตอบโต้กับผู้ใช้ได้ระหว่าง bing และ GE แต่อ่านใบอนุญาตสำหรับข้อ จำกัด
แบรดเนสซัม

ไม่มีอะไรเกี่ยวข้องกับ ESRI shapefiles Brad จาก API doco - msdn.microsoft.com/en-us/library/bb412413.aspx VEShapeLayer Class มีข้อมูลเกี่ยวกับเลเยอร์รูปร่าง เลเยอร์รูปร่างเป็นกลไกในการสร้างและจัดการกลุ่มรูปร่างโดยพลการ (pushpines, polylines และรูปหลายเหลี่ยม) เลเยอร์รูปร่างแผนที่สามารถสร้างได้จากไฟล์ GeoRSS XML ไทล์แผนที่ที่กำหนดเองหรือจากคอลเลกชันBing Maps สาธารณะใด ๆ ( maps.live.com )
2856

คำตอบ:


2

ดังที่กล่าวข้างต้น GeoRSS และ KML ไม่ได้รับการสนับสนุน อย่างไรก็ตามมีคนเขียนล่าม GeoRSSสำหรับ Bing Maps v7 และเนื่องจากไฟล์ KML และไฟล์ GeoRSS เป็นทั้ง XML ดังนั้นคุณสามารถแปลงระหว่างสองไฟล์ได้อย่างง่ายดายโดยใช้ XSL การล่าสัตว์บางรายการแสดงให้เห็นว่ามีหลายคนได้พูดคุยเกี่ยวกับเรื่องนี้ แต่ฉันไม่สามารถหาไฟล์ XSL ที่แท้จริงได้ อย่างไรก็ตามฉันได้ค้นหาสิ่งที่ตรงกันข้ามเพื่อแปลง GeoRSS เป็น KMLซึ่งควรให้ความคิดที่ดีว่าจะเริ่มต้นอย่างไรถ้าคุณเขียนของคุณเอง

หากคุณต้องการทำสิ่งนี้เพียงครั้งเดียวคุณสามารถใช้เว็บไซต์สองแห่งต่อไปนี้เพื่อแปลง KML เป็น GeoRSS ผ่าน CSV:

  1. เครื่องมือแปลง KML เป็น CSVโดยใช้ XSL
  2. CSV เพื่อ GeoRSS webapp

และตัวเลือกสุดท้ายคือการเขียนล่าม KML ของคุณเองเช่นเดียวกับที่บางคนเขียนล่าม GeoRSSของพวกเขาเองต่อ @Derek


ฉันสับสน ... GeoRSS รองรับ API แผนที่ bing อย่างไร มันค่อนข้างยืดที่จะบอกว่าการเขียนโค้ดการแยกวิเคราะห์ของคุณเองนับว่าเป็น "สนับสนุน"
Derek Swingley

ขออภัยไม่รองรับ แต่โพสต์ที่ฉันเชื่อมโยงมีล่ามสำหรับใช้ GeoRSS ใน Bing v7 กับ jQuery ฉันจะเขียนให้ชัดเจนยิ่งขึ้น
แพทริค

4

ดูเหมือนว่าคำตอบคือไม่ ผมพูดอย่างนี้ขึ้นอยู่กับการมองหาที่เอกสาร SDK ของพวกเขาและกระทู้นี้: กำลังมองหา KML หรือ GeoRSS ตัวอย่างใน Bing Maps อาแจ็กซ์ควบคุม v7

หากการสนับสนุน KML เป็นสิ่งสำคัญที่คุณสามารถใช้ArcGIS API Esri สำหรับ JavaScriptในขณะที่มันมีการสนับสนุนที่สาธารณชนสามารถเข้าถึงชั้น KML การเปิดเผยแบบเต็ม: ฉันทำงานที่ Esri ในทีม JavaScript API


อยากรู้: ฉันพบว่าใบอนุญาต ESRI สำหรับ JSAPI อ่านยาก ทุกคนสามารถใช้ jsapi เพื่อเผยแพร่แผนที่ได้หรือไม่? ตัวอย่างเช่นฉันสามารถใช้ JSAPI เพื่อแสดงแผนที่ bing และไม่ละเมิดใบอนุญาต ESRI ใด ๆ เหมือนกันสำหรับ google, OSM, กระเบื้องสาธารณะ ESRI? หรือจำเป็นหรือไม่ที่ผู้ใช้จะต้องเป็นผู้ใช้ ArcGIS Server? OL เปิดอยู่ แต่เป็น JSAPI หรือไม่
ca0v

1
@ user2023 เราได้หารือเกี่ยวกับการอนุญาตให้ใช้สิทธิ์ JSAPI ภายในและยอมรับว่าเรื่องราวไม่ชัดเจน เรากำลังดำเนินการปรับปรุงสิ่งนี้และวางแผนที่จะอัปเดตหลาย ๆ หน้าเพื่อสะท้อนเรื่องราวที่เข้าใจง่ายและเข้าใจง่ายขึ้น จนกว่าเราจะได้รับการอัปเดตหน้าเว็บต่างๆเรื่องราวก็คือ: ใช้ JSAPI สำหรับไซต์ / แอปภายในภายนอกที่ไม่ใช่เชิงพาณิชย์และเชิงพาณิชย์โดยไม่เสียค่าใช้จ่าย คุณไม่จำเป็นต้องจ่ายเว้นแต่ว่าคุณจะเริ่มเก็บข้อมูลจำนวนมากใน arcgis.com และใช้บริการ (เรขาคณิต, ตัวระบุตำแหน่ง / ตำแหน่งทางภูมิศาสตร์และการกำหนดเส้นทาง) บน arcgis.com
Derek Swingley

2

Bing Maps 7.0 ไม่มีตัวแปลง KML แต่เนื่องจากมันใช้วัตถุ JavaScript เพื่อแสดงข้อมูลบนแผนที่ (ดูBing API ) คุณสามารถวิเคราะห์ kml และแปลงเป็นวัตถุที่เกี่ยวข้องได้ด้วยตนเอง

ในตัวอย่างรหัสนี้ฉันใช้ JavaScript เพื่อแปลงข้อมูลรูปหลายเหลี่ยม KML เป็นวัตถุ Microsoft.Maps.Polygon ใหม่ ฉันจะใช้รหัสด้านล่างเพื่อเพิ่มรูปหลายเหลี่ยมในแผนที่ 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

0

ตามที่โพสต์อื่น ๆ ส่วนใหญ่ได้กล่าวถึงดูเหมือนว่า KML จะได้รับการสนับสนุนโดยตรงใน Bing Maps Ajax control v7 อย่างไรก็ตามฉันคิดว่ามันคุ้มค่าที่จะกล่าวถึงว่ามันรองรับใน GUI แผนที่ปกติ ในการโพสต์บล็อกของ Bing ต่อไปนี้จะอธิบายว่าจะนำเข้า KML ไปยัง Bing Maps "สถานที่ของฉัน" ได้อย่างไร:

ไม่ตรงกับคำถามที่ค้นหา แต่อาจมีประโยชน์สำหรับสถานการณ์แบบนั้น


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.