원인은 정확히 모르지만 만들어 놓은 웹사이트를
IE브라우저에서만 보다가 이 걸 사이즈를 모바일에 맞춰서 이제 모바일 웹으로 만들려구요.
안드로이드 애뮬레이터에서(폰에서도 똑같아요..ㅠ) 웹페이지에 접속해봤는데요
지도에 마커가 찍히지를 않네요 ㅠ_ㅠ
그래서 IE말고 다른 웹브라우저로 확인해보니 크롬이나 파이어폭스나 사파리나 ...
다 마커가 안 찍히네요 ㅠ_ㅠ
제 생각에는 XML 데이터를 이용해서 (XML에 위도, 경도, 아미지주소 등..정보 있음)
지도위에 마커를 찍는 부분이 문제가 있는것 같습니다.
검색하다보니 이미지 주소가 원인일 수 있다고해서 없애고 해봐도 안되고..
계속 검색해보니 정확하지는 않지만 XML관련된 문제인거 같다는 생각이 들었습니다. ㅠ
http://xshine.tistory.com/153 <- 여기서 보니
-------------------------
var xmlDom = null ; |
02 |
var xmlHttp = null ; |
03 |
if (window.XMLHttpRequest) |
04 |
{ |
05 |
xmlHttp = new XMLHttpRequest(); |
06 |
} |
07 |
else |
08 |
{ |
09 |
xmlHttp = new ActiveXObject( "Microsoft.XMLHTTP" ); |
10 |
} |
11 |
xmlhttp.open( "get" , filename, false ); |
12 |
xmlhttp.send( "" ); |
13 |
xmldom = xmlHttp.responseXML; |
-------------------------
이렇게 사용하니 잘 되었다는 내용이 있던데 어디서 어떻게 적용을 해야 좋을지 잘 모르겠고
나름 적용을 해봐도 똑같은 걸 봐서는 제가 제대로 못하는 것 같습니다
아래 XML만드는 부분과 불러서 사용하는 부분에 대한 소스인데요..
불러서 사용할때
var xml = GXml.parse(data); 이거 말고 다르게 사용해야하는지..
어떻게 적용을 해야하고
제가 생각하는 문제가 맞는지...도통 알 수가 없습니다. ㅠ_ㅠ
뭔가 아실 것 같으시다면 답변 주시면 감사하겠습니다. ㅠ_ㅠ
////DB정보 이용해서 XML파일 만드는 부분////////////////////////
$sql = "select * from upload order by datetime asc"; //DB에서 정보가져오기
$rs = mysql_query($sql);
while($result = mysql_fetch_array($rs)){
$id = $result[id];
$lng = $result[lng];
$lat = $result[lat];
$timeid = $result[timeid];
$subject = $result[title];
$url= $result[save_path]; //<-이미지경로입니다.
$xmlList.="<marker name ='$timeid' label='$id' lat='$lat' lng='$lng' type1='$subject' url='$url' />";
}
mysql_free_result($rs);
//통합 XmlDoc의 내용을 구성
$xmlDoc1="<?xml version='1.0' encoding ='utf-8'?> <markers>$xmlList</markers>";
$fp = fopen("nnntest.xml","w");
fputs($fp, $xmlDoc1);
fclose($fp);
////////////////////////////////////////
//////XML파일에 정보 불러다가 변수에 저장해서 이용..(마커찍음)//////////////
GDownloadUrl("nnntest.xml", function(data) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("name");
var address = markers[i].getAttribute("address");
var typee = markers[i].getAttribute("type1");
var lat = parseFloat(markers[i].getAttribute('lat'));
var lng = parseFloat(markers[i].getAttribute('lng'));
// XML 의 속석을 추출해 GLatLng 의 반환점(point)을 구현.
var point = new GLatLng( lat , lng);
var url = markers[i].getAttribute('url');
var marker = createMarker(point , name , address , typee, url , i );
// 여기서 전역 변수에 추가해야된다.
disablemarkerGroups.push(marker);
markerGroups[typee].push(marker);
markerGroupsPit[typee].push( new Array( lat , lng ));
map.addOverlay(marker);
// 마커를 감춘다.
marker.hide();
}
// 선을 그리는것 호출
loadLine();
}
);
어디에 물어도 답변이 없어서..
혹시 다른 문제때문에 그런걸지요 ㅠ_ㅠ
왜 그런지 .. 어떻게 해결하면 좋을지 아실것 같다면 답변 주세요 ㅠ_ㅠ