일련 번호가있는 mysql 테이블에 xml 파일에 쓰여지고 Google지도에 점으로 가져옵니다. 이것은 정상적으로 작동하는 것 같습니다. 단순히 각 점 사이에 폴리 라인을 생성하고 싶습니다. developer docs에서 각 행/점 집합에 대해 새 latlng 개체를 만드는 과정을 반복하는 것으로 나타났습니다. 데이터베이스에서 여러 줄을 생성하기 위해 일련의 점을 동적으로 호출 할 수있는 방법이 있습니까? 죄송합니다. 이것이 명백한 수정 프로그램 인 것 같으면 API API에 조금 익숙합니다. 미리 감사드립니다!여러 개의 mysql 지점에서 Google지도 폴리 라인 만들기
나는 외모를 사용하고 출력 XML 파일이 같은 :
Location name="2012-04-01 12:28:18" lat="42.9523010667" lon="-78.8189444333"/
Location name="2012-04-01 12:28:06" lat="42.95219345" lon="-78.81931905"/
Location name="2012-04-01 12:27:54" lat="42.9522356" lon="-78.8192848667"/..... etc
HTML/스크립트지도에 XML의 좌표 호출 : developers.google에 문제
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(42.9521, -78.8198), 20);
GDownloadUrl("gmaps_genxml2.php", function(data) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("Location");
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("timestamp");
var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lon")));
var marker = createMarker(point, name);
map.addOverlay(marker);
}
});
코드를 doc :
var flightPlanCoordinates = [
new google.maps.LatLng(37.772323, -122.214897),
new google.maps.LatLng(21.291982, -157.821856),
new google.maps.LatLng(-18.142599, 178.431),
new google.maps.LatLng(-27.46758, 153.027892)];
var flightPath = new google.maps.Polyline({
path: flightPlanCoordinates,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2});
flightPath.setMap(map);}}}
function createMarker(point, name) {
var marker = new GMarker(point, customIcons[type]);
var html = "<b>" + name;
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
현재 콘솔에 오류가 표시되지 않습니다. 이것은 내가 원래 게시물에서 두 개의 이전 코드 스 니펫을 구현하려고 시도했지만 모든 라인/포인트를 표시하는지도를 얻지는 않습니다. 그것이 포인트 변수를 정의하는 방식 일 수도 있습니다. 배열을 저장하는 것이 아니라 단일 점을 저장하는 것일까요? 나는 [포인트]를 정의 할 때 []을 사용해 보았습니다. 그러나 이것은 아무런 오류도 보이지 않았습니다 ...
function load() {
if (GBrowserIsCompatible()) {
// Create an instance of Google map
var map = new GMap2(document.getElementById("map"));
// Tell the map where to start
map.setCenter(new GLatLng(42.9521, -78.8198), 20);
GDownloadUrl("gmaps_genxml2.php", function(data) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("Location");
for (var i = 0; i < markers.length; i++) {
var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lon")));
var polyline = new GPolyline(point, '#ff0000', 5, 0.7);
map.addOverlay(polyline);
}
});
}}
이 있습니까 배열에 삽입 할 '.push을'이 사용 하늘의 배열 을 ---- 만들? 그렇다면 표시하십시오. – SativaNL
콘솔의 오류는 수정 된 게시물을 참조하십시오. 감사! – user1336528
시도해보고 디버깅 할 수 있도록 JSFiddle을 만들 수 있습니까? – SativaNL