क्या Bing मानचित्र 7 KML का समर्थन करता है?


9

मुझे कोई उदाहरण नहीं मिल रहा है। मुझे नीचे जैसा कोड मिला है, लेकिन यह पहले के संस्करणों के लिए है।

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

मुझे नहीं लगता कि यह उदाहरण kml का प्रतिनिधित्व करता है। यह मेरी अप्रशिक्षित आंख के लिए esri आकृति की तरह दिखता है। कहा कि मुझे यकीन है कि आप bing, और GE के बीच मैशअप कर सकते हैं लेकिन प्रतिबंधों के लिए लाइसेंस पढ़ें।
ब्रैड नेसोम

ESRI से ब्रैडफाइल्स का कोई लेना देना नहीं है। एपीआई डोको से - msdn.microsoft.com/en-us/library/bb412413.aspx VEShapeLayer Class में आकृति परतों के बारे में जानकारी है। आकार की परतें मनमाने आकार के समूह (पुशपाइन, पॉलीइन्स और पॉलीगॉन) बनाने और प्रबंधित करने की एक प्रणाली है। मानचित्र आकार परतें GeoRSS XML फ़ाइलों, कस्टम मानचित्र टाइलों या किसी भी सार्वजनिक बिंग मैप्स ( maps.live.com ) संग्रह से बनाई जा सकती हैं ।
user2856

जवाबों:


2

जैसा कि ऊपर बताया गया है, जियोआरएसएस और केएमएल समर्थित नहीं हैं। हालांकि, किसी ने बिंग मैप्स v7 के लिए जियोआरएस इंटरप्रेटर लिखा है । और चूंकि केएमएल फाइलें और जियोआरएसएस फाइलें दोनों एक्सएमएल हैं, इसलिए आप एक्सएसएल का उपयोग करके आसानी से दोनों के बीच रूपांतरण कर सकते हैं। कुछ शिकार से पता चलता है कि बहुत से लोगों ने इसके बारे में बात की है, लेकिन मुझे कोई वास्तविक XSL फाइल नहीं मिली है जो ऐसा करती है। हालाँकि, मैंने एक किया, इसके विपरीत, जियोआरएसएस को केएमएल में परिवर्तित किया , जिससे आपको यह पता चल जाएगा कि यदि आपने अपना लिखा है तो कहां से शुरू करें।

यदि आपको केवल एक बार ऐसा करने की आवश्यकता है, तो आप CSV के माध्यम से KML को GeoRSS में बदलने के लिए दो वेबसाइट का उपयोग कर सकते हैं:

  1. एक एम एल सीएसवी कनवर्टर करने के लिए XSL का उपयोग कर।
  2. एक सीएसवी टू जियोआरएसएस वेबएप

और एक अंतिम विकल्प केवल अपना खुद का KML दुभाषिया लिखने का है, उसी तरह किसी ने अपने @Rerek के अनुसार, अपना खुद का GeoRSS दुभाषिया लिखा है ।


मैं उलझन में हूं ... जियो मैप के साथ जियोआरएसएस का समर्थन कैसे किया जाता है? यह कहने में काफी खिंचाव है कि अपने स्वयं के पार्सिंग कोड को "समर्थित" के रूप में लिखना है।
डेरेक स्विंगले

क्षमा करें, यह समर्थित नहीं है, लेकिन मैंने जिस पोस्ट से लिंक किया है , उसमें द्विअर्थी v7 में jQuery के साथ GeoRSS का उपयोग करने के लिए दुभाषिया है। मैं और स्पष्ट होने के लिए फिर से लिखूंगा।
पैट्रिक

4

लगता है जवाब नहीं है। मैं यह उनके SDK डॉक्स और इस थ्रेड को देखने के आधार पर कह रहा हूं: Bing मैप्स अजाक्स कंट्रोल 7 में KML या GeoRSS उदाहरण की तलाश में

यदि KML समर्थन महत्वपूर्ण है, तो आप जावास्क्रिप्ट के लिए Esri's ArcGIS API का उपयोग कर सकते हैं क्योंकि इसमें सार्वजनिक रूप से सुलभ KML परतों के लिए समर्थन है । पूर्ण प्रकटीकरण: मैं जावास्क्रिप्ट एपीआई टीम पर एस्री में काम करता हूं।


जिज्ञासु: मुझे JSAPI के लिए ESRI लाइसेंस पढ़ना मुश्किल लगता है। क्या कोई मैप्स प्रकाशित करने के लिए jsapi का उपयोग कर सकता है? उदाहरण के लिए क्या मैं JSAPI का उपयोग बिंग मैप प्रदर्शित करने के लिए कर सकता हूं और किसी ESRI लाइसेंस के उल्लंघन में नहीं? Google, OSM, ESRI सार्वजनिक टाइलों के लिए समान है? या उपयोगकर्ता के लिए एक आर्किस सर्वर उपयोगकर्ता होना आवश्यक है? OL खुला है लेकिन JSAPI है?
ca0v

1
@ user2023 हम जेएसएपीआई को आंतरिक रूप से लाइसेंस देने पर चर्चा कर रहे हैं और सहमत हैं कि कहानी स्पष्ट नहीं है। हम इसे सुधारने पर काम कर रहे हैं और लाइसेंसिंग कहानी को समझने में आसान, सरलता को दर्शाने के लिए कई पृष्ठों को अपडेट करने की योजना बना रहे हैं। जब तक हमें विभिन्न पृष्ठ अपडेट नहीं मिलते, कहानी यह है: आंतरिक, बाह्य, गैर-वाणिज्यिक और वाणिज्यिक साइटों / ऐप्स के लिए JSAPI का उपयोग करें। आपको तब तक भुगतान करने की आवश्यकता नहीं है जब तक कि आप arcgis.com में बड़ी मात्रा में डेटा संग्रहीत करना शुरू नहीं करते हैं और arcgis.com पर सेवाओं (ज्यामिति, लोकेटर / जियोकोडिंग और रूटिंग) का उपयोग करते हैं।
डेरेक स्विंगली

2

बिंग मैप्स 7.0 में केएमएल कन्वर्टर शामिल नहीं है। लेकिन क्योंकि यह मानचित्र पर डेटा प्रदर्शित करने के लिए जावास्क्रिप्ट ऑब्जेक्ट्स का उपयोग करता है ( बिंग एपीआई देखें ), आप मैन्युअल रूप से किमी को पार्स कर सकते हैं और इसे संबंधित वस्तुओं में बदल सकते हैं।

में इस कोड उदाहरण , मैं जावास्क्रिप्ट का उपयोग नए Microsoft.Maps.Polygon वस्तुओं के लिए एम एल बहुभुज डेटा कन्वर्ट करने के लिए। फिर मैं अपने बिंग मैप में बहुभुज जोड़ने के लिए नीचे दिए गए कोड का उपयोग करूंगा।

// 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 फ़ाइल पर काम करेगा?
J86

1

Openlayers का प्रयोग करें !! आप KML फ़ाइलों को लोड कर सकते हैं, और बिंग को अपने आधार मानचित्र परत के रूप में सेट कर सकते हैं। और सबसे अच्छा, खुला स्रोत है, पूरी तरह से स्थिर है, और एक बहुत ही सक्रिय परियोजना है।

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

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


वास्तव में समस्या का जवाब नहीं बल्कि एक अच्छा समाधान है।
ca0v

0

जैसा कि अधिकांश अन्य पदों ने उल्लेख किया है, ऐसा नहीं लगता है कि केएमएल सीधे बिंग मैप्स अजाक्स नियंत्रण v7 में समर्थित है। हालांकि, मुझे लगा कि यह ध्यान देने योग्य है कि यह सामान्य मानचित्र GUI में माना जाता है। निम्नलिखित बिंग ब्लॉग पोस्ट में, यह वर्णन करता है कि कोई व्यक्ति KML को बिंग मैप्स "माई प्लेस" में कैसे आयात कर सकता है:

ठीक वैसा नहीं जैसा कि प्रश्न खोज रहा था, बल्कि उस तरह की स्थिति के लिए संभावित रूप से उपयोगी था।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.