android ودوائر الروبوت: الحصول على خط العرض وخط الطول



كيفية قراءة الاحداثيات (4)

هل من الممكن الحصول على لات & لنغ دون الذهاب في الهواء الطلق؟ الوضع الحالي هو أن المستخدم يجب أن يكون في الهواء الطلق من أجل الحصول على موقعها، والذي يستغرق أيضا وقتا طويلا بالنسبة لهم للحصول على واحد. أريد أن يكون المستخدم قادرا على الحصول على موقعها في الأماكن المغلقة.


نعم، فمن الممكن، داخل الباب كنت تحصل على الشبكة. بحيث يمكنك استخدام LocationManager.NETWORK_PROVIDER للحصول على نظام تحديد المواقع المشترك.

يرجى إلقاء نظرة على هذه الإجابة .


ذلك يعتمد على مزود غس كنت تستخدم، وإشارة أفيلابيلي لإصلاح الموقع، وأعتقد أنك تستخدم مزود غس فقط، لذلك لا يعمل في الباب، حاول استخدام مزود الشبكة أيضا في الاعتبار.

أيضا، استخدم آخر موقع معروف، من خلال نظام تحديد المواقع الوقت بإصلاح الموقع، وهناك بلوق جيدة لجلب الموقع في أقرب وقت ممكن.

android-developers.blogspot.in/2011/06/deep-dive-into-location.html


نعم فمن الممكن، وتأخذ تلميحا من التعليمات البرمجية التالية:

try {
            gps_enabled = locManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
        } catch (Exception ex) {
        }
        try {
            network_enabled = locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
        } catch (Exception ex) {
        }

        if (!gps_enabled && !network_enabled) {
             // show alert 
        }
        if (network_enabled) {
            locManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locListener);
        }
        if (gps_enabled) {
            locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locListener);
        }

    LocationManager locManager;   
    Location location;
 double lat;
 double lng;
    try {
                gps_enabled = locManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
            } catch (Exception ex) {
            }
            try {
                network_enabled = locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
            } catch (Exception ex) {
            }

            if (!gps_enabled && !network_enabled) {
                 // show alert 
            }
            if (network_enabled) {
                  locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);                
                locManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,1000,1, locationListener);
                location = locManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
             lat = location.getLatitude();
             lng = location.getLongitude();
            }
            if (gps_enabled) {
                locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);              
                locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000,1, locationListener);
                location = locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
             lat = location.getLatitude();
             lng = location.getLongitude();
            }




geolocation