지도 API로 작업하고 있는데요... 정보
지도 API로 작업하고 있는데요...본문
이번주 맡은 일은 지도에 업체들 표시하는 기능이 주된 사이트 일입니다.
의뢰인이 네이버 원하셔서 네이버 지도API를 살펴보고 작업하다 보니...
도로명주소는 좌표를 가져오지 못하더라구요.
검색해 보니 답변들이 다 못한다고
의뢰인에게 말하니 그럼 구글지도로 바꾸자 해서 구글 지도 API를 보고 있습니다.
그런데 영어...
영어 울렁증 ㅠ_ㅠ
결국 크롬에서 번역이나 구글신 검색으로 하나하나 해나가고 있습니다.
어렵지만 재미는 있네요.
다음 지도는 주소로 바로 지도에 마킹 되던데 네이버 지도는 좌표를 구해야 하더군요. 훔...
그나저나 나중에 gps로그 파일을 가지고 지도에 표시하는 기능 만들고 싶은데 이것도 꽤나 어려울것 같은 느낌이 드네요.
추천
0
0
댓글 6개
http://yobi.foxrain.me/terrorboy/terrorboy/files/80e24c67ef3a5085eb3af452646be62326baf88d/자작/PHP/TBClass/TerrorBoy.class.php
/* --------------------------------------------------------------- */
// 주소->좌표, 좌표->주소 (https://developers.google.com/maps/documentation/geocoding/?hl=ko)
/*
$tb->Geo('서울 송파', 'address', 'xml');
$tb->Geo('37.5145437,127.1065971', 'geo', 'xml');
$tb->Geo('서울 송파', 'address', 'json');
$tb->Geo('37.5145437,127.1065971', 'geo', 'json');
*/
public function Geo($Data, $Type='address', $Output='xml') {
$num = 1;
$return = array();
$FullAddress = array();
$FullAddressCount = array();
$BaseUrl = 'http://maps.googleapis.com/maps/api/geocode/'.$Output.'?language=ko&sensor=false';
if($Type == 'address') $response = file_get_contents($BaseUrl.'&address='.urlencode($Data));
else $response = file_get_contents($BaseUrl.'&latlng='.$Data);
if($Output == 'xml') {
$obj = $this->xml2array($response);
if($obj['GeocodeResponse']['result']['0']) $obj = $obj['GeocodeResponse']['result']['0'];
else $obj = $obj['GeocodeResponse']['result'];
$return = array();
$return['address'] = $obj['formatted_address'];
$FullAddress = explode(' ', $return['address']);
$FullAddressCount = count($FullAddress);
for($s=0; $s<$FullAddressCount; $s++) {
$num = $s+1;
$return['addr_'.$num] = $FullAddress[$s];
}
/*
문제되는 경우가 많음
$return['addr1'] = $obj['address_component'][0]['long_name'];
$return['addr2'] = $obj['address_component'][1]['long_name'];
$return['addr3'] = $obj['address_component'][2]['long_name'];
*/
$return['lat'] = $obj['geometry']['location']['lat'];
$return['lng'] = $obj['geometry']['location']['lng'];
}
else {
$obj = json_decode($response);
$obj = $obj->{'results'}[0];
$return = array();
$return['address'] = $obj->{'formatted_address'};
$FullAddress = explode(' ', $return['address']);
$FullAddressCount = count($FullAddress);
for($s=0; $s<$FullAddressCount; $s++) {
$num = $s+1;
$return['addr_'.$num] = $FullAddress[$s];
}
/*
문제되는 경우가 많음
$return['addr1'] = $obj->{'address_components'}[0]->{'long_name'};
$return['addr2'] = $obj->{'address_components'}[1]->{'long_name'};
$return['addr3'] = $obj->{'address_components'}[2]->{'long_name'};
*/
$return['lat'] = $obj->{'geometry'}->{'location'}->{'lat'};
$return['lng'] = $obj->{'geometry'}->{'location'}->{'lng'};
}
return $return;
}
/* --------------------------------------------------------------- */
// 주소->좌표, 좌표->주소 (https://developers.google.com/maps/documentation/geocoding/?hl=ko)
/*
$tb->Geo('서울 송파', 'address', 'xml');
$tb->Geo('37.5145437,127.1065971', 'geo', 'xml');
$tb->Geo('서울 송파', 'address', 'json');
$tb->Geo('37.5145437,127.1065971', 'geo', 'json');
*/
public function Geo($Data, $Type='address', $Output='xml') {
$num = 1;
$return = array();
$FullAddress = array();
$FullAddressCount = array();
$BaseUrl = 'http://maps.googleapis.com/maps/api/geocode/'.$Output.'?language=ko&sensor=false';
if($Type == 'address') $response = file_get_contents($BaseUrl.'&address='.urlencode($Data));
else $response = file_get_contents($BaseUrl.'&latlng='.$Data);
if($Output == 'xml') {
$obj = $this->xml2array($response);
if($obj['GeocodeResponse']['result']['0']) $obj = $obj['GeocodeResponse']['result']['0'];
else $obj = $obj['GeocodeResponse']['result'];
$return = array();
$return['address'] = $obj['formatted_address'];
$FullAddress = explode(' ', $return['address']);
$FullAddressCount = count($FullAddress);
for($s=0; $s<$FullAddressCount; $s++) {
$num = $s+1;
$return['addr_'.$num] = $FullAddress[$s];
}
/*
문제되는 경우가 많음
$return['addr1'] = $obj['address_component'][0]['long_name'];
$return['addr2'] = $obj['address_component'][1]['long_name'];
$return['addr3'] = $obj['address_component'][2]['long_name'];
*/
$return['lat'] = $obj['geometry']['location']['lat'];
$return['lng'] = $obj['geometry']['location']['lng'];
}
else {
$obj = json_decode($response);
$obj = $obj->{'results'}[0];
$return = array();
$return['address'] = $obj->{'formatted_address'};
$FullAddress = explode(' ', $return['address']);
$FullAddressCount = count($FullAddress);
for($s=0; $s<$FullAddressCount; $s++) {
$num = $s+1;
$return['addr_'.$num] = $FullAddress[$s];
}
/*
문제되는 경우가 많음
$return['addr1'] = $obj->{'address_components'}[0]->{'long_name'};
$return['addr2'] = $obj->{'address_components'}[1]->{'long_name'};
$return['addr3'] = $obj->{'address_components'}[2]->{'long_name'};
*/
$return['lat'] = $obj->{'geometry'}->{'location'}->{'lat'};
$return['lng'] = $obj->{'geometry'}->{'location'}->{'lng'};
}
return $return;
}
내부에 링크만 따다 쓰세요 ㅎㅎㅎ(그대로 쓰기에는 소스가 노후화 되서..)
에고~
팁을 바라고 쓴글은 아닌데 한수 알려주시네요.
고맙습니다.
편한밤 보내세요~~^^
팁을 바라고 쓴글은 아닌데 한수 알려주시네요.
고맙습니다.
편한밤 보내세요~~^^
저도 저기서 좌표를 뽑아 쓰거든요 ㅎㅎ
주무세요!
주무세요!
GPS로고 묵공님이 만드셨는데, http://sir.co.kr/cm_free/1120394
주소로 된거 daum api 에서 gps 좌표로 바꾸고
googlemap 에서 그좌표로 찍어주고 ㅎㅎㅎ
했네융
googlemap 에서 그좌표로 찍어주고 ㅎㅎㅎ
했네융