나는 API 가이드와 여기에서도 해결책을 찾으려고했지만 하나를 찾지 못했습니다. 내가하려는 것은 내 데이터베이스에 저장된 데이터를 사용하여 Google지도 (api v3)에 마커를 그리는 것입니다. 내 DB에서 데이터를 얻는 방법은 다음과 같습니다.
function getDevs(){
$query = " SELECT id, lat, lon, login, id_devtask FROM dev WHERE online='1'";
$result = mysql_query($query);
$onlineDevs = array();
$singledev = array();
while($dev=mysql_fetch_array($result)){
$singledev['id']=$dev['id'];
$singledev['lat']=$dev['lat'];
$singledev['lon']=$dev['lon'];
$singledev['login']=$dev['login'];
$singledev['id_devtask']=$dev['id_devtask'];
$onlineDevs[]=$singledev;
}
return $onlineDevs;
}
그런 다음 $ somerandomarray = getDevs (); 이 데이터가 필요하다는 페이지에서 제대로 작동하는 것 같고 원하는 데이터를 모두 얻습니다. 하지만 이제는지도에 마커를 그리기 위해 모든 위도, 경도 및 로그인 (이름)을 사용하는 방법에 대한 단서가 없습니다. 다음은 내지도입니다 (Google의 API 가이드에서 가져온 코드).
<script type="text/javascript">
function initialize() {
var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
var mapOptions = {
zoom: 4,
center: myLatlng
}
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title:"Hello World!"
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
어떻게하는지 알고 계십니까? (그런데, 나중에 데이터베이스에 게시하기 위해 마커 (아마도 ID)에서 데이터를 가져와야합니다.)
$ somerandomarray가 db 결과를 보유하고 있다고 말한 다음 이것을 시도하십시오.
var jsonStr = '<?php echo json_encode($somerandomarray) ?>';
var LatLong = JSON.parse(jsonStr);
function initialize() {
var myLatlng = new google.maps.LatLng(-25.363882, 131.044922);
var mapOptions = {
zoom: 4,
center: myLatlng
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var marker = [];
for(var i=0;i<LatLong.length;i++){
var LatLong1 = new google.maps.LatLng(LatLong[i].lat, LatLong[i].lon);
marker.push(new google.maps.Marker({position: LatLong1, map: map}));
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다