2012-05-20 6 views
1

SQL 데이터베이스에있는 경도와 위도를 사용하여 사용자 정의 Google지도를 만들려고합니다. 그래서 이러한 결과를 지오 코더의 jquery 코드에 직접 배치하려고합니다. 하지만 작동하지 않습니다. 아무도 내가 어떻게 할 수있는 아이디어가 있습니까 ?? 나는 가능한 모든 것을 찾아 보았고 답을 찾을 수 없다. 미리 감사드립니다. 여기 내 코드 :PHP를 사용하여 사용자 정의 된 Google지도 만들기

<script type='text/javascript'>//<![CDATA[ 

var map; 
var global_markers = []; 
[<?php 
include 'admin/dbconn.php'; 

$getLoc = mysql_query("SELECT * FROM EanHotels WHERE City = 'Acapulco'") or die(mysql_error()); 
while($row = mysql_fetch_array($getLoc)){ 
    $name = $row['name']; 
    $lat = $row['Latitud']; 
    $lon = $row['Longitude']; 
    $address = $row['Address1']; 
    echo $lat; 
    echo $lon; 

?> 
var markers = [[<?php echo $lat ?>, <?php echo $lon ?>, '<?php echo $name ?>'], <?php } ?> 
]; 


var infowindow = new google.maps.InfoWindow({}); 

function initialize() { 
    geocoder = new google.maps.Geocoder(); 
    var latlng = new google.maps.LatLng(40.77627, -73.910965); 
    var myOptions = { 
     zoom: 1, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    addMarker(); 
} 

function addMarker() { 
    for (var i = 0; i < markers.length; i++) { 
     // obtain the attribues of each marker 
     var lat = parseFloat(markers[i][0]); 
     var lng = parseFloat(markers[i][1]); 
     var trailhead_name = markers[i][2]; 

     var myLatlng = new google.maps.LatLng(lat, lng); 

     var contentString = "<html><body><div><p><h2>" + trailhead_name + "</h2></p></div></body></html>"; 

     var marker = new google.maps.Marker({ 
      position: myLatlng, 
      map: map, 
      title: "Coordinates: " + lat + " , " + lng + " | Trailhead name: " + trailhead_name 
     }); 

     marker['infowindow'] = contentString; 

     global_markers[i] = marker; 

     google.maps.event.addListener(global_markers[i], 'click', function() { 
      infowindow.setContent(this['infowindow']); 
      infowindow.open(map, this); 
     }); 
    } 
} 

window.onload = initialize; 
//]]> 

</script> 

답변

1

markers 변수에서이 스크립트의 출력을 확인 했습니까? 이 형식의 숫자 출력을 가진 뭔가가있는 것 같습니다.

자바 스크립트가 소수 구분 기호로 마침표, 국제 형식으로 숫자를 예상 : 서버가 소수 구분 기호로 쉼표를 사용하도록 구성되어 일부 지역에서 10.2

, 그래서 스크립트의 출력의 배열을 반환 소수점 이하 자릿수와 숫자, 숫자가 아닌 : 또한

[[ 1,00012, 1,45678, 'name' ]] 

, 당신은 닫는 대괄호 ]

+0

I 디 전에 markers 변수 선언의 끝에 추가 쉼표를 결과를 보는 것을 생각하지 않는다. .. 나는 약간 어리 석다라고 느낀다. 그러나 그것은 그 것이었다! 나는 그것을 알아! 감사 – lov2code

관련 문제