웹채팅을 만들어서 클라이언트측에서는 자신의 위경도를 서버에 보내고 서버측에서는 그 위경도를 브로드캐스트 해줍니다.
또한 해당 채팅방의 클라이언트 소켓아이디리스트를 불러오는것도 성공하였지만
지도에 한꺼번에 마커를 나타내는 방법을 모르겠습니다.
지도는 다음 api를 사용하고있습니다.
문제가 무엇이냐면 서버에서 같은 채팅방에 있는 다른 클라이언트의 위경도를 보내주는 이벤트를 발생하게 되면(socket.emit)
클라이언트 측에서 이벤트를 받아서(socket.on) 지도에 마커를 출력하는 형식을 만들기는 하였지만 채팅방에 여러명이 있을경우 여러번의 이벤트가 오게되면 여러개를 찍을 수 있는 방법을 모르겠습니다. 도와주세요
지도를 찍는 해당 코드입니다.
이런식으로하면 당연히 하나만 찍히는 것은 알겠는데 어떤식으로 해야 여러개를 같이 찍어줄 수 있는지 잘 모르겠습니다. 자세히 알려주시면 감사하겠습니다.
참고로 function의 매개변수data는 위도와 경도 그리고 소켓아이디 채팅방이름의 정보를 가지고 있습니다.
처음보는 api라
소켓이벤트가 발생하면 거기서 온 데이터 적당히 처리해서 객체같은곳에 담아두고
그 객체에 변화가 생길때마다 그려주면됨
이벤트 받으면 on콜백에서 다 처리하지말고 객체 갱신만하고 그리는건 따로처리하고
소켓아이디랑 위경도 묶어서 데이터로보내고 소켓아이디 돌리면서 위경도 지도에 찍으명 될거같은데
2016052 그런데 객체에 데이터를 담아두려면 객체를 몇개를 생성해야하는지 정확히 알 수 가없어서 하나만 생성하게 되면 마커의 위치가 변화할 수 는 있겠지만 하나밖에 찍지 못하지 않나요?
객체를 받아오는 이벤트 갯수만큼 만들수 있는 방법이 있을까요?
Aaa 소켓아이디를 돌리면서 찍고 싶은데 위에 코드 보시면 알겠지만 한 그림에 여러 점을 찍는 방법을 몰라서요;;
처음부터 정해져있는 점이면 아예 변수를 초기화해두고 하면 상관없겠지만 점이 움직이고 계속 생길수도있는 지라...
하나에 다 담으면됨
제가 초보자라 그런데 자세히 좀 설명해주시면 안될까요?ㅠㅠ
kmink0119//갯수->개수 (개수 (個數)[명사] : 한 개씩 낱으로 셀 수 있는 물건의 수효.) [리듬 맞춤법 봇♬]
이건 socket.io 가 아니라 DAUM MAP API 쪽 가이드를 좀 더 꼼꼼히 보셔야겠네요...
근데 저렇게 했을 때 한 개만 찍히는 건가요? 소스 코드 상으로 봤을 때는 displayMarker 호출 했을 때 여러개가 찍힐 거 같은데
아 물론 들어오는 위경도 값이야 당연 달라야겠고요
제가 localhost로만 해봐서 잘 모르겠는데 marker라는 객체가 하나이고 지도가 이벤트가 호출될때마다 계속 생성되기 때문에 마커도 사라졌다가 하나 생성되고를 반복해서 하나밖에 안나올거같아요
아 지도를 이벤트 호출 때마다 매번 따로 생성하시는군요. 그러면 하나 밖에 안 찍히죠