애니빌드.LAB
매뉴얼
지도API [구글 지도3.0] 위치 (마크) 여러개 표시 방법
- Anybuild
- 2015-06-11 17:57:00
- hit3047
- http://wdev.anybuild.co.kr/bbs/faq/4482
* 구글지도 3.0은 익스플로어10 미만 에서는 정상 작동 되지 않을수 있으니 유념하시기 바랍니다.
* 익스프로어10 이상 이라 하더라도, [호환성보기]모드인 경우 정상 작동 되지 않습니다. 확인해보려면 인스플로어에서 F12 키를 누르면 우측 상단 - 브라우져 모드에서 확인 가능 합니다.
* 문서 모드가 쿼크모드인 경우 작동되지 않습니다. 관리자 모드 [디자인관리 > 고급 디자인 관리 > 전체 화면 구성]에서 DOCTYPE이 XHTML1.0 또는 HTML5인 경우에만 정상 작동 됩니다.
* 지도 출력 은 기본적으로 phpx 문법을 아시면 더욱 유연하게 커스터마이징 하실 수 있습니다.
* 원문 출처 : https://developers.google.com/maps/documentation/javascript/examples/event-closure
<load target="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true">
{@
$marker_array = array();
$marker_array[] = array(-25.363882, 131.044922, "우리집");
$marker_array[] = array(-26.363882, 132.044922, "판타지아");
$marker_array[] = array(-27.363882, 133.044922, "치킨집");
@}<script>
function initialize() {
var mapOptions = {
zoom: 4,
center: new google.maps.LatLng(-25.363882, 131.044922)
};var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
marker_chk(map);
}
function marker_chk(map){
<!--@foreach($marker_array as $k => $v)-->
var position = new google.maps.LatLng({$v[0]}, {$v[1]});
var marker{$k} = new google.maps.Marker({
position: position,
map: map
});
var infowindow{$k} = new google.maps.InfoWindow({
content: "{$v[2]}"
});
infowindow{$k}.open(marker{$k}.get('map'), marker{$k});
google.maps.event.addListener(marker{$k}, 'click', function() {
infowindow{$k}.open(marker{$k}.get('map'), marker{$k});
});
<!--@end-->
}google.maps.event.addDomListener(window, 'load', initialize);
</script><div id="map-canvas" style="width:100%;height:400px"></div>
결과 화면 : http://lab.anybuild.co.kr/page/g_multi
열기 닫기