سؤال

وأنا أحاول أن استخدام API Google Earth لإنشاء طريقة عرض بسيط من العالم مع حقل البحث التي يمكن للمستخدم اكتب الموقع. عندما ضرب تذهب، فإن العالم التكبير على الموقع أنها كتبته في.

وأود العرض إلى أن تبحث باستمرار على التوالي على الموقع أنها محددة. لقد حاولت البرمجية التالية:

var lookAt = ge.createLookAt('');
lookAt.set(point.y, point.x, 600, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 00, 0);
ge.getView().setAbstractView(lookAt);

ولكن هذا يذهب دائما إلى قليلا الموقع الخطأ،

هل كانت مفيدة؟

المحلول

ويمكن أن يكون ببساطة أن لديك point.y وpoint.x بطريقة خاطئة حولها؟

// latitude, longitude, altitude, altitudeMode, heading, tilt, range
lookAt.set(point.x, point.y, 600, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 0, 0);

وإذا تعذر ذلك، عندما تقول: يمكن للمستخدم اكتب موقع "هل يعني انك الترميز الجغرافي إدخال؟ على سبيل المثال هي دخول المستخدمين إلى "نيويورك" أو "M20 1LL" على سبيل المثال؟ إذا كان الأمر كذلك يجب أن ندرك أن الترميز الجغرافي ليست علما دقيقا وأن النتائج ليست دقيقة (وخاصة مع خدمات الترميز الجغرافي الحرة) دائما.

وهناك نوعان من الحلول الحقيقية إذا كان هذا هو الحال.

1) الدفع لاستخدام خدمة الترميز الجغرافي التجارية لضمان دقة.

2) بناء قاعدة بيانات خاصة بك أو ذاكرة التخزين المؤقت الذي يحتوي الردود ترميز المناطق الجغرافية محسوبة مسبقا من الأماكن "مفتاح". http://code.google.com/apis/ خرائط / وثائق / جافا سكريبت / V2 / services.html # Geocoding_Caching

وراجع للشغل رمز يبدو AOK ... وبصرف النظر عن الصفر المزدوج (00) لميل ...

var lookAt = ge.createLookAt('');

// latitude, longitude, altitude, altitudeMode, heading, tilt, range
lookAt.set(point.y, point.x, 600, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 0, 0);

ge.getView().setAbstractView(lookAt);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top