2016-08-17 5 views
2

Wenn sich Personen auf meiner Website anmelden, geben sie ihren Straßennamen ein. Ich möchte eine Karte einfügen, die ihren Standort generieren kann. Ich habe die PHP-Variablen, aber wie fügt man sie in den Google-Javascript-Code ein, der diesen bestimmten Ort auf einer Karte erzeugen kann. Ich habe versucht, einige der Google Maps-Entwickler zu lesen, und habe meinen eigenen API-Schlüssel erstellt, aber ich habe keine Ahnung, wie ich von diesem Punkt aus weiterkommen soll.Von Adressvariablen zu Google Maps

$sql = "SELECT * FROM submitted WHERE id ='$id'"; 
$sql_run = $db->query($sql); 
$row = mysqli_fetch_assoc($sql_run); 

$city= $row["city"]; 
$street= $row["streetname"]; 
+0

Beginnen Sie mit dem Lesen der Dokumente unter [Google Maps API] (https://developers.google.com/maps/) –

+0

Sie möchten eine Karte oder nur den Breitengrad erzeugen? –

+0

Was ich gelesen habe, muss ich die Stadt und Straßenname in eine Breite Länge konvertieren und dann eine Karte von diesem Punkt generieren. Ich brauche Hilfe beim ganzen Prozess. – Hazelcraft

Antwort

1

zeichnen Adresse auf der Karte die folgenden Schritte aus:

Schritt 1: Fügen Sie Google Maps API Skriptdatei

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_KEY"></script> 

Schritt 2: Erstellen eines Kartenelement

<div id="map" style="height: 550px; width: 100%;"></div> 

Schritt 3: Code zum Deklarieren von Kartenelementen und zum Geokodieren der Adresse zur Plotmarkierung

<script type="text/javascript"> 
// ====== Create map objects ====== 
var latlng = new google.maps.LatLng(-34.397, 150.644); 
var mapOptions = { 
     zoom: 10, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
var geo = new google.maps.Geocoder(); 
var map = new google.maps.Map(document.getElementById("map"), mapOptions); 
var bounds = new google.maps.LatLngBounds(); 

// ====== Geocoding ====== 
function getAddress(search) { 
    geo.geocode({address:search}, function (results,status) 
     { 
     // If that was successful 
     if (status == google.maps.GeocoderStatus.OK) { 
      // Lets assume that the first marker is the one we want 
      var p = results[0].geometry.location; 
      var lat=p.lat(); 
      var lng=p.lng(); 
      // Output the data 
      createMarker(search,lat,lng); 
     } 
     // ====== Decode the error status ====== 
     else { 
      alert('Something went wrong. Please Try again.'); 
     } 
     } 
    ); 
} 


// ======= Function to create a marker 
function createMarker(location,lat,lng) { 
    var marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(lat,lng), 
     map: map 
    }); 

    google.maps.event.addListener(marker, 'click', function() { 
     alert("Your Location : "+location); 
    }); 

    bounds.extend(marker.position); 
} 
</script> 

Schritt 4: Rufen Sie die Adresse aus der Datenbank ab und rufen Sie die Geocode-Funktion getAddress('address from db') im Skript mit den angegebenen Adressvariablen auf.

<?php 
$city = $row["city"]; 
$street = $row["streetname"]; 
?> 
<script> 
getAddress('<?php echo $street.','.$city; ?>'); 
</script> 

Ich hoffe, dass Sie diesen Code leicht verstehen werden. Wenn es einen Fehler bezüglich dieses Codes gibt, lassen Sie es mich wissen.

Verwandte Themen