kostenko Δημοσ. 4 Φεβρουαρίου 2014 Δημοσ. 4 Φεβρουαρίου 2014 Καλησπέρα, οπως λέει και ο τίτλος προσπαθώ να προσθέσω ένα marker που να δείχνει την τρέχουσα θέση του χρήστη που χρησιμοποιεί την web app που φτιάχνω. Χρησιμοποιώ αυτό εδώ το παράδειγμα : https://developers.google.com/maps/articles/phpsqlajax_v3. το πρόβλημα είναι πως όταν πάω να χρησιμοποιήσω html 5 geolocation api, μου βγάζει άσπρη σελίδα. η ερώτηση μου είναι πως μπορώ να χρησιμοποιήσω το geolocation api (η κατι άλλο αν υπάρχει) ώστε να συμβαδίζει με τον κώδικα του παραδείγματος?
warlock9_0 Δημοσ. 7 Φεβρουαρίου 2014 Δημοσ. 7 Φεβρουαρίου 2014 συνήθως λευκή σελίδα βγάζει όταν δεν έχεις βάλει τα api keys σωστά
alou Δημοσ. 7 Φεβρουαρίου 2014 Δημοσ. 7 Φεβρουαρίου 2014 geolocation με βάση την ip για τα ελληνικά δεδομένα ουσιαστικά είναι άτοπο, στην καλύτερη περίπτωση θα σε δείξει πχ στο κέντρο της Αθήνας στο τάδε ote node, στη χειρότερη σε άλλη πόλη. Μόνο για country έχει κάποια αξία. Αν πας σε συσκευή με GPS όμως έχεις πολύ περισσότερες δυνατότητες και θα βοηθήσει κάποιο library όπως το jQyery mobile. Αλλιώς, το καλύτερο που έχεις να κάνεις είναι ένα address geolocation function που θα επιστρέφει lat long το σημείο της διεύθυνσης και μετά θα κάνεις query για το radius που θες. Οπότε, με javascript τσεκάρεις τη συσκευή και είτε κάνεις geolocation από το gps είτε ανοίγεις ένα input στο χρήστη για διεύθυνση.
theodoros8 Δημοσ. 8 Φεβρουαρίου 2014 Δημοσ. 8 Φεβρουαρίου 2014 Προσαρμοσε τον κωδικα στο δικο σου προτζεκτ. var map; $(function () { var options = { enableHighAccuracy: true, timeout: 5000, maximumAge: 0 }; if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(displayPosition, error, options); } function error(error) { switch (error.code) { case error.PERMISSION_DENIED: console.log("Ο χρήστης δεν επιτρέπει την χρήση της τοποθεσίας."); break; case error.POSITION_UNAVAILABLE: console.log( "Η τοποθεσία του χρήστη δεν είναι διαθέσιμη"); break; case error.TIMEOUT: console.log("Η αίτηση τοποθεσίας έληξη."); break; case error.UNKNOWN_ERROR: console.log("Άγνωστο σφάλμα."); break; } }; function displayPosition(pos) { var crd = pos.coords; setlocation(crd.latitude, crd.longitude, 15); } function setlocation(lat, lng, zom) { setAllMap(null); var myLatlng = new google.maps.LatLng(lat, lng); map.setCenter(myLatlng); map.setZoom(zom); var markera = new google.maps.Marker({ position: myLatlng, map: map, icon: 'assets/icons/ico_curr_pos.png', optimized: true, zIndex: 100000 }); markers.push(markera); var infowindow = new google.maps.InfoWindow({ pixelOffset: new google.maps.Size(-16, 0), }) google.maps.event.addListener(markera, 'mousedown', function () { infowindow.setContent("<b>Είστε εδώ "); infowindow.open(map, markera); }); google.maps.event.addListener(markera, 'mouseup', function () { infowindow.close(); }); } }
alou Δημοσ. 10 Φεβρουαρίου 2014 Δημοσ. 10 Φεβρουαρίου 2014 Από τη δική μου εμπειρία πάντως, δε μπορείς να βασιστείς στο navigator.geolocation (ούτε σε οποιαδήποτε άλλη ip geolocation υπηρεσία, όπως το geoiplookup.wikimedia.org που παρατήρησα ότι είναι λίγο πιο αξιόπιστο) αφενός γιατί δεν υποστηρίζεται 100% και αφετέρου το αποτέλεσμα είναι - για την Ελλάδα τουλάχιστον - γτπ. Αν σε ενδιαφέρει να είναι λειτουργικό αυτό που θες να κάνεις, το προσφέρεις μόνο σε κινητές συσκευές που έχεις πρόσβαση σε gps δεδομένα και έχεις fallback για όλα τα υπόλοιπα.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα