2017-01-12 38 views
0

這是我的代碼從誰在線如何動態顯示Google地圖標記上的數據庫值?

$markers = array();   
$sql_locations1="SELECT DISTINCT uid,latitude,longitude from `location` where uid='$_REQUEST[locator_id]' ORDER by `date_time` DESC limit 1"; 
$result1 = mysqli_query($conn,$sql_locations1); 
    while($row=mysqli_fetch_assoc($result1)) 
     {     
     $markers[] = array(
     'abc', 
     $row['latitude'], 
     $row['longitude'],   
     );  
     }?> 
<div id="map_canvas" onload="initMap()"></div> 

你可以看到「ABC」的陣列其靜態值,顯示在地圖上標記每個db和顯示用戶獲取記錄。我想要的是用戶的名稱從數據庫上自己的標記上'abc'靜態值的地方 我不知道如何獲得這個數據庫值在那個地方。下面是我的地圖功能

<script> 
function initialize() { 
    var map; 
    var bounds = new google.maps.LatLngBounds(); 
    var mapOptions = { 
     mapTypeId: "roadmap", 
     center: new google.maps.LatLng(20.5937, 78.9629), // somewhere in the uk BEWARE center is required 
     zoom: 1, 
    }; 
    // Display a map on the page 
    map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 
    map.setTilt(45); 
    // Multiple Markers 
    var markers = <?php echo json_encode($markers);?>; 
    // Display multiple markers on a map 
    var infoWindow = new google.maps.InfoWindow(); 
    var marker, i; 
    // Loop through our array of markers & place each one on the map 
    for (i = 0; i < markers.length; i++) { 
     var position = new google.maps.LatLng(markers[i][1], markers[i][2]); 
     bounds.extend(position); 
     marker = new google.maps.Marker({ 
      position: position, 
      map: map, 
      title: markers[i][0] 
     }); 
     // Allow each marker to have an info window 
     google.maps.event.addListener(marker, 'click', (function (marker, i) { 
      return function() { 
       infoWindow.setContent(infoWindowContent[i][0]); 
       infoWindow.open(map, marker); 
      } 
     })(marker, i)); 

     // Automatically center the map fitting all markers on the screen 
     map.fitBounds(bounds); 
    } 
    //Override our map zoom level once our fitBounds function runs (Make sure it only runs once) 
    var boundsListener = google.maps.event.addListener((map), 'bounds_changed', function (event) { 
     this.setZoom(5); 
     google.maps.event.removeListener(boundsListener); 
    }); 
} 
google.maps.event.addDomListener(window, 'load', initialize); 

請幫我同樣感謝事先

回答

0

您可以編寫一個連接查詢,以便從數據庫中獲取的用戶名,並顯示在地圖的信息窗口:

// Allow each marker to have an info window 
    google.maps.event.addListener(marker, 'click', (function (marker, i) { 
     return function() { 
      infoWindow.setContent(markers[i][0]); 
      infoWindow.open(map, marker); 
     } 
    })(marker, i)); 
相關問題