ฉันไม่มีโชคในการหาตัวอย่าง ฉันพบรหัสเช่นนี้ด้านล่าง แต่สำหรับรุ่นก่อนหน้านี้
shapeLayer = new VEShapeLayer();
shapeSpec = new VEShapeSourceSpecification(VEDataType.ImportXML, layer.url, shapeLayer);
veMap.ImportShapeLayerData(shapeSpec);
ฉันไม่มีโชคในการหาตัวอย่าง ฉันพบรหัสเช่นนี้ด้านล่าง แต่สำหรับรุ่นก่อนหน้านี้
shapeLayer = new VEShapeLayer();
shapeSpec = new VEShapeSourceSpecification(VEDataType.ImportXML, layer.url, shapeLayer);
veMap.ImportShapeLayerData(shapeSpec);
คำตอบ:
ดังที่กล่าวข้างต้น GeoRSS และ KML ไม่ได้รับการสนับสนุน อย่างไรก็ตามมีคนเขียนล่าม GeoRSSสำหรับ Bing Maps v7 และเนื่องจากไฟล์ KML และไฟล์ GeoRSS เป็นทั้ง XML ดังนั้นคุณสามารถแปลงระหว่างสองไฟล์ได้อย่างง่ายดายโดยใช้ XSL การล่าสัตว์บางรายการแสดงให้เห็นว่ามีหลายคนได้พูดคุยเกี่ยวกับเรื่องนี้ แต่ฉันไม่สามารถหาไฟล์ XSL ที่แท้จริงได้ อย่างไรก็ตามฉันได้ค้นหาสิ่งที่ตรงกันข้ามเพื่อแปลง GeoRSS เป็น KMLซึ่งควรให้ความคิดที่ดีว่าจะเริ่มต้นอย่างไรถ้าคุณเขียนของคุณเอง
หากคุณต้องการทำสิ่งนี้เพียงครั้งเดียวคุณสามารถใช้เว็บไซต์สองแห่งต่อไปนี้เพื่อแปลง KML เป็น GeoRSS ผ่าน CSV:
และตัวเลือกสุดท้ายคือการเขียนล่าม KML ของคุณเองเช่นเดียวกับที่บางคนเขียนล่าม GeoRSSของพวกเขาเองต่อ @Derek
ดูเหมือนว่าคำตอบคือไม่ ผมพูดอย่างนี้ขึ้นอยู่กับการมองหาที่เอกสาร SDK ของพวกเขาและกระทู้นี้: กำลังมองหา KML หรือ GeoRSS ตัวอย่างใน Bing Maps อาแจ็กซ์ควบคุม v7
หากการสนับสนุน KML เป็นสิ่งสำคัญที่คุณสามารถใช้ArcGIS API Esri สำหรับ JavaScriptในขณะที่มันมีการสนับสนุนที่สาธารณชนสามารถเข้าถึงชั้น KML การเปิดเผยแบบเต็ม: ฉันทำงานที่ Esri ในทีม JavaScript API
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);
ใช้ Openlayers !! คุณสามารถโหลดไฟล์ KML และตั้ง Bing เป็นเลเยอร์แผนที่พื้นฐานของคุณ และที่ดีที่สุดคือโอเพ่นซอร์สเสถียรภาพโดยรวมและโครงการที่ใช้งานได้ดีมาก
http://dev.openlayers.org/sandbox/rdewit/kml/examples/kml_wmsc_ows5.html
ตามที่โพสต์อื่น ๆ ส่วนใหญ่ได้กล่าวถึงดูเหมือนว่า KML จะได้รับการสนับสนุนโดยตรงใน Bing Maps Ajax control v7 อย่างไรก็ตามฉันคิดว่ามันคุ้มค่าที่จะกล่าวถึงว่ามันรองรับใน GUI แผนที่ปกติ ในการโพสต์บล็อกของ Bing ต่อไปนี้จะอธิบายว่าจะนำเข้า KML ไปยัง Bing Maps "สถานที่ของฉัน" ได้อย่างไร:
ไม่ตรงกับคำถามที่ค้นหา แต่อาจมีประโยชน์สำหรับสถานการณ์แบบนั้น
ลองใช้ตัวแยกวิเคราะห์ kml นี้เพื่อดูแผนที่ bing ตัวอย่างที่แสดง https://github.com/koldyr/BingKmlParser