स्ट्रीट व्यू ओवरले के साथ ओपनलाइयर


9

Im मेरे OpenLayers वेब ऐप में StreetView की कार्यक्षमता जोड़ने की कोशिश कर रहा है, और सड़क दृश्य को मानचित्र पर उपलब्धता दिखाते हुए ओवरले को जोड़ना चाहेगा। मैंने इसका एक उदाहरण यहां सफलतापूर्वक देखा है , लेकिन मुझे अपने समाधान में काम करने के लिए कोड नहीं मिल सकता है। विशेष रूप से:

var layer = new OpenLayers.Layer.Google("Google Street", {sphericalMercator: true});

layer.mapObject.addOverlay(new GStreetviewOverlay());

परिणाम में त्रुटि:

layer.mapObject is null

क्या किसी को कोई विचार है कि मैं क्या गलत कर सकता हूं, और यदि हां, तो मैं इसे कैसे ठीक कर सकता हूं?

जवाबों:


4

स्ट्रीटव्यू के साथ ओपनर

GeoExt ux एक्सटेंशन की आवश्यकता है

सभी कोड उपलब्ध है - इसलिए आप देख सकते हैं कि आप क्या याद कर रहे हैं

(यदि आप अपने वर्तमान मानचित्र का लाइव लिंक पोस्ट कर सकते हैं - उपयोगकर्ता आपके लिए इसे डीबग कर सकते हैं।)

यहां छवि विवरण दर्ज करें

http://api.geo.admin.ch/main/wsgi/doc/build/api/streetview.html


2
+1 - यह डेमो काम करता है। यह एक ही लेखक द्वारा भी है, लेकिन हाल ही में।
जियोग्राफिका

क्या आप जियोएक्स्ट का उपयोग किए बिना OpenLayers में स्ट्रीट व्यू ओवरले लेयर का उपयोग करने के किसी अन्य तरीके के बारे में जान पाएंगे?
CatchingMonkey

केवल Google नक्शे के लिए v2 (पदावनत) fuzzytolerance.info/code/… एपीआई कुंजी की आवश्यकता है।
Mapperz

GeoAdmin अब स्ट्रीट व्यू की पेशकश नहीं करता है, जो प्रासंगिक उदाहरण मुझे मिल सकता है वह था: gxp.opengeo.org/master/examples/google-streetview-panel.html (OpenLayers + GeoExt)
क्रीगर

2

Google परतों का उपयोग करने और लाइसेंस आवश्यकताओं को पूरा करने के लिए आपको Google API के माध्यम से Google परतों का उपयोग करना होगा। जब आप किसी OpenLayers मैप में Google लेयर जोड़ते हैं तो OpenLayers Google API को लोड करता है।

layer.mapObject(के रूप में करने का विरोध किया layer.mapहै जो राजभाषा नक्शा वस्तु) आप गूगल मानचित्र के लिए एक संदर्भ देना चाहिए। चूंकि यह nullकुछ गलत है जिससे Google API लोड हो रहा है। अगर आप इसे सही तरीके से लोड कर चुके हैं तो आप फायरबग में देख सकते हैं ।

उदाहरण जो आप इंगित करते हैं वह पुराने Google 2 API का उपयोग संस्करण 3 के बजाय कर सकता है। अब आपको API कुंजी की आवश्यकता नहीं है और Google API कनेक्शन में जोड़ सकते हैं:

<script src="http://maps.google.com/maps/api/js?sensor=false"></script>

Google v3 API परतों के लिए यूनिट परीक्षणों पर एक नज़र डालें जो आपकी मदद कर सकते हैं।

याद रखें कि StreetView को ब्राउज़र में Flash की भी आवश्यकता है।


नमस्ते वहाँ, आपकी मदद के लिए धन्यवाद। मैं अभी अपने डेस्क पर नहीं हूं इसलिए मैं आपके सुझावों का परीक्षण करने में सक्षम नहीं हूं, लेकिन यहां मुझे पता है: मैं निश्चित रूप से Google मैप्स एपीआई v3 लोड कर रहा हूं। मैंने पहले भी वेब ऐप्स में StreetView को लागू किया है, लेकिन इस बार मैं मानचित्र पर ओवरले को भी देख रहा हूं। मैं सोच रहा था कि अगर यह एक ब्राउज़र की बात है। वेबसाइट मैंने IE (8) में ठीक काम करने के लिए एक लिंक दिया था, लेकिन फ़ायरफ़ॉक्स में नहीं ... कोई विचार?
कैचिंगमेन्की

डेमो FF6, IE8 या IE9 में मेरे लिए काम नहीं करता है। यह केवल एक नक्शा या एक सड़क दृश्य दिखाने के लिए लगता है ..
भूगोलिका

हम्म, वेबसाइट मेरे IE8 में यहाँ काम करने लगता है .... अब OpenLayers उपयोगकर्ता सूची के साथ परामर्श करने जा रहा है!
कैचिंगमोंकी

1

कारण क्यों layer.mapObject अशक्त है कि mapObject गुण बनाया जाता है उसके बाद परत को मानचित्र में जोड़ा जाता है। इसे इस्तेमाल करे:

var layer = new OpenLayers.Layer.Google("Google Street", {sphericalMercator: true});
map.addLayer(layer);
layer.mapObject.addOverlay(new GStreetviewOverlay());
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.