تحديد الموقع الجغرافي مزود فايرفوكس يسمح الإدخال اليدوي

StackOverflow https://stackoverflow.com/questions/1800990

سؤال

هل هناك أي طرق سهلة تجاوز السلوك الافتراضي من تحديد الموقع الجغرافي api و مجرد رمز القرص الثابت الموقع الحالي الخاص بك ؟

أعتقد أن هذا سيكون من المفيد اختبار لأسباب تتعلق بالخصوصية (توفير وهمية بيانات الموقع)

أعتقد أنه كان هناك إضافة على من أجل هذا ولكن أنا لا يمكن أن يبدو للعثور على واحد.الخيار الوحيد الآن يبدو أن تغيير about:config الجغرافية.واي فاي.رابط بديل خدمة ويب ، التي اعتبرها معقدة أكثر من اللازم.

أي أفكار ؟

شكرا

السيناريو المثالي

شخص ينفذ إضافة أين خريطة جوجل يظهر أستطيع أن أختار الموقع الافتراضي.

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

المحلول

الجغرافية.واي فاي.uri لا تحتاج إلى خدمة ويب.يمكنك أيضا تعيين إلى أوري مع file://...

يجب أن يكون الملف ملف json مع محتوى من هذا القبيل:

{"location": {
              "latitude": 48.777025000000002, 
              "longitude": 9.1713909999999998, 
              "accuracy": 10.0}}

تحديث: فايرفوكس 9+, الشكل قد تغير:

{
    "status": "OK",
    "accuracy": 10.0,
    "location": {"lat": 48.777, "lng": 9.171}
}

أو يمكنك الجمع بينهما إلى دعم كل من:

{
    "status": "OK",
    "accuracy": 10.0,
    "location": {
        "lat": 48.777,
        "lng": 9.171,
        "latitude": 48.777,
        "longitude": 9.171,
        "accuracy": 10.0
    }
}

تحديث: يبدو يدويا تعيين هذا التفضيل هو المحجوبة من قبل مزود افتراض خدمة جوجل.انظر علة 716453 تحديث 2: الجغرافية.واي فاي.أوري ليس الجغرافية.واي فاي.url

نصائح أخرى

أسهل طريقة للتنقل إلى about:config ثم في مربع تصفية الدخول geo.wifi.uri, انقر نقرا مزدوجا فوق فقط config التوالي التي يظهر وأدخل القيمة أدناه بعد استبدال xxx و yyy مع تنسق تحصل عليها من خدمة مثل http://www.getlatlon.com/:

data:application/json,{"location":{"latitude":xxx,"longitude":yyy,"accuracy":10}}

هذه الحيلة لا يحتاج إلى أي إضافات أو المحلية/استضافت الملفات.تأكد من القيمة دون أي مساحات في خط واحد!

Geolocater تجريبي إضافة على أن يسمح لك تحرير الموقع الجغرافي الخاص بك.

في كروم, يمكنك استخدام دليل تحديد الموقع الجغرافي chrome.هذا سوف تتيح لك بيانيا اختيار موقع اليدوي.

هممم, لا يمكنك وهمية navigator.geolocation مباشرة - ربما يمكنك ريفاكتور الخاص بك التعليمات البرمجية التي تستخدم لاستخدام كائن آخر - أقول customGeoLocation.

في إنتاج يمكنك فقط تعيين customGeoLocation إلى navigator.geolocation و في الاختبارات استخدام نموذج تنفيذ ما الوظائف التي يمكنك استخدامها.

تحرير: اتضح أنه يمكن أن يحل محل الوظائف على navigator.geolocation كائن ولكن هذا لا يزال غير مجدية إذا كنت تستخدم نموذج المكتبة (مثل JsMock) الذي يحتاج إلى إنشاء كائن وهمي.حتى أنك لن تكون قادرة على استبدال navigator.geolocation مع وهمية.

يمكنك القيام تسخر من نفسك في هذا الشكل:

var getCurrentPositionCalled = false;
navigator.geolocation.getCurrentPosition = function() { 
  getCurrentPositionCalled = true; 
};

//Your app code here
//...
assert(getCurrentPositionCalled);

لدي السلكية Google Latitude إلى فايرفوكس تحديد الموقع الجغرافي.هذا يتيح لك يدويا تحديث موقعك في جوجل خط العرض مع بنقرة ماوس واحدة, بدلا من البحث عن خطوط الطول والعرض نفسك و كتابتها إلى ملف محلي.مقالتي في هذا الموضوع جعل فايرفوكس تأخذ تحديد الموقع الجغرافي من Google Latitude.

الحل مطلوب كمية صغيرة من جانب الخادم الترميز (أنا توفير شفرة المصدر في المادة), ولكن أنا حاليا تشغيل هذه التعليمة البرمجية مجانا يعيش الخدمة التي يمكنك استخدامها.

الهتافات ، MetaEd

يجب إنشاء تطبيق ويب بسيط التي هي بمثابة تحديد الموقع الجغرافي نقطة النهاية يمكنك النقطة المتصفح الجغرافية.واي فاي.اوري أن.وهو متوافق مع جوجل API المواصفات.استخدام, فقط أدخل ما يلي استبدال [العرض] و [الطول] مع القيم المطلوبة:

http://geolocation-mocker.phitherek.me/geolocate/[latitude]/[longitude]

وينبغي أن تعمل.للتحقق إذا كانت الخدمة ، انتقل إلى

http://geolocation-mocker.phitherek.me

والتحقق مما إذا كانت صفحة HTML يعرض بشكل صحيح.يمكنك العثور على التعليمات البرمجية المصدر على هذا التطبيق بسيطة في

https://github.com/Phitherek/geolocation-mocker

أتمنى هذه الأداة سوف يثبت أن تكون مفيدة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top