تحديد الموقع الجغرافي مزود فايرفوكس يسمح الإدخال اليدوي
-
05-07-2019 - |
سؤال
هل هناك أي طرق سهلة تجاوز السلوك الافتراضي من تحديد الموقع الجغرافي 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
أتمنى هذه الأداة سوف يثبت أن تكون مفيدة.