Erste user-Standort mit google.loader.ClientLocation, für mich zu arbeiten, andere aber nicht
Versuche, mit google.loader.ClientLocation zusammen mit der Google maps api, um den Standort der Besucher-und center eine Karte auf. Das folgende funktioniert bei mir (unter Safari, Firefox und Chrome), aber ein Freund, den ich habe, um es zu testen (Safari und Firefox) sieht nur eine weiße box mit dem Google-logo.
<script type="text/javascript" src="http://www.google.com/jsapi?key=MykeyHere"></script>
<script type="text/javascript">
google.load("maps", "2");
</script>
<script type="text/javascript">
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("local_map"));
map.setMapType(G_PHYSICAL_MAP);
map.setCenter(new GLatLng(google.loader.ClientLocation.latitude, google.loader.ClientLocation.longitude), 15);
//map.setCenter(new GLatLng(54.5975, -5.920278), 15);
map.setUIToDefault();
}
</script>
Irgendwelche Ideen, was könnte schief gehen? Die Website ist auf http://www.chris-armstrong.com/ticktalk (die Karte ist in der Nähe der Unterseite)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Google ClientLocation verwendet die IP-Adresse geolocation. Es gibt mehrere IP-Adresse geolocation Anbieter gibt (die Fragen in der Seitenleiste auf der rechten Seite geben Sie mehrere von denen) und Sie geben unterschiedliche Ergebnisse für die verschiedenen Nutzer. Google ClientLocation nicht in der Lage zu finden alle, und es werden nicht immer Antworten geben, die sind so genau oder so genau, wie einige Konkurrenten.
Auf meine test-Seite, zum Beispiel, ich benutze Google ClientLocation und IPInfoDB und Google ClientLocation nicht finden, mich jetzt zu Hause, während IPInfoDB denkt, ich bin in Sunnyvale statt Berkeley. Sie können feststellen, dass eine Anbieter besser ist als die anderen (insbesondere, wenn Sie zahlen für die Datenbank), aber ich vermute, dass die meisten robuste Methode, wenn Sie es wirklich brauchen, ist die Verwendung von mehreren und hoffen, dass zumindest wird man ein Ergebnis. Sie sollten im Vorfeld wissen, dass IP-geolocation wird nicht immer Arbeit für alle Benutzer (diejenigen, die hinter einem anonymisierenden proxy, zum Beispiel, wird nie sich auf diese Weise).
Auch, wenn Sie möchten, eine genauere Lage verwenden Sie eine Javascript-API, um Fragen, die auch im browser des Benutzers genauen Standort. Auf unterstützten Browsern der Benutzer erhält eine kleine pop-up zu Fragen für Ihre Erlaubnis und, wenn gegeben, der browser wird dann die Nutzung von GPS (Mobile Safari auf dem iPhone zum Beispiel) - oder WLAN-triangulation (Firefox 3.5+), um zu bestimmen, Längen-und Breitengrad. Sie können sehen, wie dies funktioniert auf meine test-Seite, und vergleichen Sie es mit IP-geolocation. Nicht alle Browser unterstützen die W3C-Geolocation-API, aber eine wachsende Zahl tun.