Google Maps, wenn kein Standort Marker auf Standardstandort setzt

Przemek Wojtas

Ich habe Google Maps, die gut funktionieren, wenn der Standort erkannt werden kann, aber wenn dies nicht möglich ist, wird die Karte nie angezeigt. Was ich tun möchte, ist, wenn der Standort nicht erkannt werden kann, setzen Sie die lat- und lng-Variablen auf die in der Funktion locError. Wie kann das gemacht werden?

hier ist mein Code:

function initializeMap() {
    map = new google.maps.Map(document.getElementById('map_canvas'), {
        zoom: 19,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });
    directionsDisplay.setMap(map);
    directionsDisplay.setPanel(document.getElementById('test'));
}
var pinColor = "6495ED";
var pinImage = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|" + pinColor,
    new google.maps.Size(21, 34),
    new google.maps.Point(0, 0),
    new google.maps.Point(10, 34));
var pinShadow = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_shadow",
    new google.maps.Size(40, 37),
    new google.maps.Point(0, 0),
    new google.maps.Point(12, 35));

function locError(error) {
    // the current position could not be located
    lat = 53.5409298;
    lng = -2.11136590000001;
    initializeMap();
    setCurrentPosition(position);
}

function setCurrentPosition(position) {
    if (position.coords.latitude) {
        lat = position.coords.latitude;
        lng = position.coords.longitude;
    } else {
        lat = 53.5409298;
        lng = -2.11136590000001;
    }
    var accuracy = position.coords.accuracy;
    currentPositionMarker = new google.maps.Marker({
        map: map,
        position: new google.maps.LatLng(
            lat,
            lng
        ),
        title: "Current Position",
        icon: pinImage,
        shadow: pinShadow,
        animation: google.maps.Animation.DROP
    });
    map.panTo(new google.maps.LatLng(
        lat,
        lng
    ));
    circle = new google.maps.Circle({
        map: map,
        radius: accuracy,
              strokeColor: '#E62C56',
              strokeOpacity: 0.8,
              strokeWeight: 2,
              fillColor: '#6495ED',
              fillOpacity: 0.10
    });

    circle.bindTo('center', currentPositionMarker, 'position')
    algolia_search(position);
}

function displayAndWatch(position) {
    // set current position
    setCurrentPosition(position);
    // watch position
    watchCurrentPosition(position);
}

function watchCurrentPosition(position) {
    var positionTimer = navigator.geolocation.watchPosition(
        function (position) {
            setMarkerPosition(
                currentPositionMarker,
                position,
            )
        });
}

function setMarkerPosition(marker, position) {
    circle.setRadius(position.coords.accuracy);
    marker.setPosition(
        new google.maps.LatLng(
            lat,
            lng)
    );
    algolia_search(position);
}

function initLocationProcedure() {
    initializeMap();
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(displayAndWatch, locError);
    } else {
        displayAndWatch();
        locError();
    }
}

function clearOverlays() {
    for (var i = 0; i < markers.length; i++) {
        markers[i].setMap(null);
    }
    markers.length = 0;
}
$(document).ready(function () {
    initLocationProcedure();
});

Was verursacht das Problem, dass die Karte überhaupt nicht geladen wird, wenn der Standort deaktiviert ist? Wie kann ich die Karte trotzdem laden und an Lat und Lng in der Fehlerfunktion binden, die ausgelöst wird, wenn der Standort nicht gefunden wird?

Muhammad Rizwan Kaim Khani

Ich denke, Sie müssen es so versuchen, wenn sich in Ihrer Schleife keine Position befindet usw.

function initializeMap() {
          map = new google.maps.Map(document.getElementById('map'), {
            zoom: 19,
            center: new google.maps.LatLng(53.5409298,-2.11136590000001),
            mapTypeId: google.maps.MapTypeId.ROADMAP
          });

          var lat = 53.5409298;
            var lng = -2.11136590000001;
            var title = "Test" +" "+"Set";
            var latLng = new google.maps.LatLng(lat,lng);
            var marker = new google.maps.Marker({
                zoom: 12,
                position: latLng,
                map: map,
                title: title
              });

        }

Ich habe noch eine Sache beobachtet, dass Sie die Mittelposition in Ihrer Karte nicht angegeben haben, daher kann es zu Fehlern kommen.

center: new google.maps.LatLng(53.5409298,-2.11136590000001),

Vielen Dank

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Google Map zentriert auf dem aktuellen Standort des Benutzers PLUS Standardstandort als Backup

GeoFire setzt einen weiteren Marker auf den Quellspeicherort, wenn kein Benutzer in der Nähe gefunden wird

Wie kann ich meinen aktuellen Standort auf Google Maps anzeigen, wenn ich den ViewController öffne? in Swift?

Wie aktiviere ich den Standort, wenn ich mit Google Maps Flattern auf die Schaltfläche klicke?

Flattern - Google Maps wartet nicht auf den Standort

Google Maps - zentriert auf den Standort des Benutzers

Google Maps API verschieben Standort auf Schaltfläche klicken

So zeigen Sie mehr als einen Standort auf Google Maps an

So suchen Sie den Standort auf Google Maps

Wie animiere ich Marker auf Google Maps?

Falsche Marker-Platzierung auf Google Maps

Android Google Maps Marker basierend auf Stringparametern

Google Maps zentriert nicht auf Marker

Programmgesteuert Marker auswählen, um zum Standort zu navigieren Google_Maps_Flutter

Google Marker Aktivität öffnen, wenn auf Marker geklickt wird

Standort in Google Maps in Android anzeigen

Führen Sie eine Aktion aus, wenn der Benutzer in React-Google-Maps auf eine Karte oder einen Marker klickt

Warum setzt Operator >> auf komplexem <double> kein Eofbit, wenn es EOF erreicht?

Wie aktualisiere ich den Standort basierend auf den Latlong-Variablen in Google Maps auf der Webseite?

Angular 8 Leaflet setzt Marker auf Klick

Google App Engine: Kann kein Projekt mit auf EU eingestelltem Standort erstellt werden?

Google Maps funktioniert nicht, wenn der API-Schlüssel bereitgestellt wird. / Auf dieser Seite konnte kein Google Maps-Element angezeigt werden

React-Google-Maps Marker Klicken Sie auf Ereignis

IONIC 2 Google Maps Marker Klicken Sie auf Ereignis

Wie füge ich Marker auf Google Maps Android hinzu?

Safari setzt kein Cookie auf Subdomain

Chrome setzt kein Cookie auf AJAX POST

Google Maps API - Karte auf dem aktuellen Standort des Kunden zentrieren

aktueller Standort auf Google Maps ohne GPS einzuschalten (Android-Gerät)?

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  3. 3

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  4. 4

    Eclipse Oxygen - Projekte verschwinden

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Wie kann ich den Kaskadenmodus global einstellen?

  7. 7

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  8. 8

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  9. 9

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  10. 10

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  11. 11

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  12. 12

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  13. 13

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  14. 14

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  15. 15

    Wie wählt man Unterschiede mit drei Tabellen aus?

  16. 16

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  17. 17

    Wie kann ich meine Tabelle abfragen, um sie in mySQL nach 2 Feldern zu gruppieren?

  18. 18

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  19. 19

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  20. 20

    Modbus Python Schneider PM5300

  21. 21

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

heißlabel

Archiv