j1Query(function($) {
$(document).ready(function() {
var route_count = $('#route_count').val();
for(var j=0;j
$('#map').append('
'+j+'
');
var mapX = "";
var mapY = "";
var defaultLevel = 6;
var oCenterPoint = new nhn.api.map.LatLng(37.5010226, 127.0396037);
var oMap = new nhn.api.map.Map(document.getElementByI1d('map'+j), {
point : oCenterPoint,
zoom : defaultLevel,
enableWheelZoom : true,
enableDragPan : true,
enableDblClickZoom : false,
mapMode : 0,
activateTrafficMap : false,
activateBicycleMap : false,
minMaxLevel : [ 1, 14 ],
size : new nhn.api.map.Size(150, 150) });
var markerCount = 0; //마커의 갯수
var oSize = new nhn.api.map.Size(28, 37);
var oOffset = new nhn.api.map.Size(14, 37);
// - Draggable Marker 의 경우 Icon 인자는 Sprite Icon이 된다.
// - 따라서 Sprite Icon 을 사용하기 위해 기본적으로 사용되는 값을 지정한다.
// - Sprite Icon 을 사용하기 위해서 상세한 내용은 레퍼런스 페이지의 nhn.api.map.SpriteIcon 객체를 참조하면 된다.
var mapInfoTestWindow = new nhn.api.map.InfoWindow(); // - info window 생성
mapInfoTestWindow.setVisible(false); // - infowindow 표시 여부 지정.
oMap.addOverlay(mapInfoTestWindow); // - 지도에 추가.
var oLabel = new nhn.api.map.MarkerLabel(); // - 마커 라벨 선언.
oMap.addOverlay(oLabel); // - 마커 라벨 지도에 추가. 기본은 라벨이 보이지 않는 상태로 추가됨.
mapInfoTestWindow.attach('changeVisible', function(oCustomEvent) {
if (oCustomEvent.visible) {
oLabel.setVisible(false);
}
});
oMap.attach('mouseenter', function(oCustomEvent) {
var oTarget = oCustomEvent.target;
// 마커위에 마우스 올라간거면
if (oTarget instanceof nhn.api.map.Marker) {
var oMarker = oTarget;
oLabel.setVisible(true, oMarker); // - 특정 마커를 지정하여 해당 마커의 title을 보여준다.
}
});// 마우스 들어왔을 때 보일 것
oMap.attach('mouseleave', function(oCustomEvent) {
var oTarget = oCustomEvent.target;
// 마커위에서 마우스 나간거면
if (oTarget instanceof nhn.api.map.Marker) {
oLabel.setVisible(false);
}
});
(function(param_x,param_y){
$.ajax({
type: 'POST',
url: '/trafollo/modules/board/skins/root/mapt.php',
dataType: 'text',
data: {
user_id : 'user_id',
route_count : j
},
cache: false,
async:false,
success: function(result){
var arr = result.split(",");
if(result != ""){
for(var i = 0; i<arr.length;i++){
var arr2 = arr[i].split("/");
//map(arr2[0],arr2[1],arr2[2]);
param_x = arr2[0];
param_y = arr2[1];
var oIcon = new nhn.api.map.Icon('http://static.naver.com/maps2/icons/pin_spot.png', oSize, oOffset);
var oPoint = new nhn.api.map.TM128(param_x,param_y);
var oMarker = new nhn.api.map.Marker(oIcon, { title : arr2[2] });
oMarker.setPoint(oPoint);
oMap.addOverlay(oMarker);
oMap.setCenter(oPoint);
var aPoints = oPolyline.getPoints(); // - 현재 폴리라인을 이루는 점을 가져와서 배열에 저장.
aPoints.push(oPoint); // - 추가하고자 하는 점을 추가하여 배열로 저장함.
oPolyline.setPoints(aPoints);
oMap.addOverlay(oPolyline);
//alert(result);
}
}
},
error:function(){
alert("error");
}
});
})(mapX,mapY);
var oPolyline = new nhn.api.map.Polyline([], {
strokeColor : '#f00', // - 선의 색깔
strokeWidth : 5, // - 선의 두께
strokeOpacity : 0.5 // - 선의 투명도
}); // - polyline 선언, 첫번째 인자는 선이 그려질 점의 위치. 현재는 없음.
//oMap.addOverlay(oPolyline); // - 지도에 선을 추가함.
//alert(12);
}
});
});
어제 질문했던 문제는 자세하게 설명해주신 덕분에 근본적인 문제를 찾아서 해결할 수 있었습니다. 그런데 다른 문제가 생겨서 질문 다시 하겠습니다 ㅠㅠ
빨간 글로 된 부분이 문제가 되는 듯한데.. 이번엔 왜 그런지 도저히 이유조차 모르겠습니다 ㅠㅠ
for문에 조건이 되는 arr.length는 3인데..
위에 그림처럼 한번밖에 실행이 되지 않습니다.
위에 있는 전체 소스는 for문으로 2번 실행됩니다.
2번 도는 중에 첫번째 루프에서는 ajax 안에 있는 for문이 한번밖에 돌지 않고 빠져나와버립니다
두번째 루프는 ajax안에 있는 for문의 조건에 맞게 3번 돌고..
설명이 좀 이상한것같은데 ..
왜 그런걸까요 ㅜㅠ 지금 미스테리 합니다 ㅠㅠㅠㅠㅠ
alert로 arr.length를 찍어도 3이라고 찍히는데..
도와주세요 ㅜㅜ
어찌하다보니 질문만 올리는데 오늘이나 내일 .. 대박 유머자료 하나 올라갑니당....
Hell p me!!!!
도움!