주소를 Google지도 링크로 변환하는 방법 (지도 아님)


297

웹에서 잠시 동안 인터넷 검색을 한 후 다음과 같은 주소를 취하는 것은 없습니다.

12003 펜실베이니아 Ave SE, 워싱턴 DC, 20003

클릭 가능한 링크로 변환합니다.

http://maps.google.com/maps?f=q&source=s_q&hl=ko&q=1200+Pennsylvania+Ave+SE,+Washington,+District+of+Columbia,+20003&sll=37.0625,-95.677068&sspn=44.118686,114.169922 & ie = UTF8 & cd = 1 & geocode = FT5MUQIdIDlp-w & split = 0 & ll = 38.882147, -76.99017 & spn = 0.01064,0.027874 & z = 16 & iwloc = A

jQuery 또는 PHP는 이것에 대한 유용한 정보를 선호했습니다.

답변:


681

이건 어때요?

https://maps.google.com/?q=1200 펜실베이니아 Ave SE, 워싱턴 DC, 20003

https://maps.google.com/?q=term

위도가 길면 아래 URL을 사용하십시오.

https://maps.google.com/?ll=latitude,longitude

예 : maps.google.com/?ll=38.882147,-76.99017

최신 정보

2017 년 현재 Google은 플랫폼 간 Google지도 URL을 만드는 공식적인 방법을 제공합니다.

https://developers.google.com/maps/documentation/urls/guide

당신은 같은 링크를 사용할 수 있습니다

https://www.google.com/maps/search/?api=1&query=1200%20Pennsylvania%20Ave%20SE%2C%20Washington%2C%20District%20of%20Columbia%2C%2020003 

7
위도 및 경도로 어떻게 만들 수 있습니까?
nadeem gc

4
사용자가 새 Google지도를 사용하는 경우이 방법이 약간 잘못된 것 같습니다. 결과 페이지를 클래식 모드로 표시하는 링크를 만들려면 링크를 추가 &output=classic하십시오. 전체 내용은 다음과 같습니다.http://maps.google.com/?q=1200%20Pennsylvania%20Ave%20SE,%20Washington,%20District%20of%20Columbia,%2020003&output=classic
Matt

4
@ 매트 어때요? 또한 output = classic은 영원히 유지되지 않으며 사용자가 새 맵을 선호하는 경우 어떻게해야합니까?
Chris B

2
URL을 통해 맵에서 드롭 핀을 얻는 방법은 무엇입니까?
Flea

5
(! 감사 @ChrisB)이 여전히 잘 작동하지만, Google지도 자체의 형식은 지금처럼 보이는 https://www.google.com/maps/place/1200 Pennsylvania Ave SE, Washington, District of Columbia, 20003 그냥 이름을 사용하여 멀리 얻을 수있는 일부 지역의 경우 ¶ ...하지만 maps.google.com/?q=www.google.com/maps/place/반드시 동일한 결과를 반환하지 않습니다 https://www.google.com/maps/place/White House팽창을에 https://www.google.com/maps/place/The+White+House,+1600+Pennsylvania+Ave+NW,+Washington,+DC+20500있지만, https://maps.google.com/?q=White HouseNC에 골동품 매장을 제공합니다
henry

67

나는 경기에 늦었다는 것을 알고 있지만, 후세를 위해 기여할 것이라고 생각했다.

<address>태그를 Google지도 링크로 자동 변환하는 짧은 jQuery 함수를 작성했습니다 .

여기 데모를보십시오.

$(document).ready(function () {
   //Convert address tags to google map links - Michael Jasper 2012
   $('address').each(function () {
      var link = "<a href='http://maps.google.com/maps?q=" + encodeURIComponent( $(this).text() ) + "' target='_blank'>" + $(this).text() + "</a>";
      $(this).html(link);
   });
});

보너스:

또한 링크에서 임베디드 맵을 생성 해야하는 상황을 겪었지만 미래의 여행자와 공유 할 것입니다.

전체 데모보기

$(document).ready(function(){
    $("address").each(function(){                         
        var embed ="<iframe width='425' height='350' frameborder='0' scrolling='no'  marginheight='0' marginwidth='0' src='https://maps.google.com/maps?&amp;q="+ encodeURIComponent( $(this).text() ) +"&amp;output=embed'></iframe>";
        $(this).html(embed);             
    });
});

UR 코드에 대한 @Michael Jasper 고맙습니다 ... 그것은 div 의지도를 얻었습니다 ...하지만 내 문제는 핀 정보가 팝업이된다는 것입니다 ... 그래서 핀 정보 상자를 열지 않는 방법을 안내해 줄 수 있습니까 ??????. thnx 사전에 ...
Shwet

3
HTML5 <address>태그는 우편 주소를 제공하기위한 것이 아니라 내용 (보통 저자)과 관련된 연락처 정보를 제공하기위한 것입니다. developer.mozilla.org/en-US/docs/Web/HTML/Element/address
Neograph734

좋은 대답입니다! 공유해 주셔서 감사합니다. 나는 그것에 대한 결과가 확실하지 않지만 encodeURIComponent().
moreirapontocom

12

2016 년 2 월 :

클라이언트 입력 데이터베이스 값을 기반으로 위도 / 경도 생성기를 사용하지 않고이 작업을 수행해야했습니다. 구글은 요즘 위도 / 경도를 정말 좋아합니다. 내가 배운 것은 다음과 같습니다.

1 링크의 시작 부분은 다음과 같습니다 : https://www.google.com/maps/place/

2 주소를 입력하십시오.

  • 공백 대신 +를 사용하십시오.
  • 도시 앞뒤에 쉼표를 넣으십시오.
  • 우편 번호 및 주 /도를 포함하십시오.
  • #을 아무것도없는 것으로 바꾸십시오.
  • ++ 또는 ++++를 단일 +로 교체

3 장소 뒤에 주소를 입력하십시오 /

4 그런 다음 끝에 슬래시를 넣으십시오.

참고 : 끝에 슬래시가 중요했습니다. 사용자가 링크를 클릭하면 Google은 계속해서 URL에 더 많은 정보를 추가하고이 슬래시 후에 추가합니다.

이 질문에 대한 실제 예 :

https://www.google.ca/maps/place/1200+Pennsylvania+Ave+SE,+Washington,+DC+20003/

도움이 되길 바랍니다.


예제가 작동하는 동안 독일 주소로 이것을 다시 만들 수 없었습니다. Chris B의 답변 (... /? q = term)을 구현했습니다.
gl03

고맙게도 이것은 이제 독일 주소에서도 작동합니다. 참조 : google.com/maps/place/…
Yannick Schuchmann



2

Michael Jasper와 Jon Hendershot의 솔루션에서 차용하여 다음을 제공합니다.

$('address').each(function() {
    var text = $(this).text();

    var q    = $.trim(text).replace(/\r?\n/, ',').replace(/\s+/g, ' ');
    var link = '<a href="http://maps.google.com/maps?q=' + encodeURIComponent(q) + '" target="_blank"></a>';

    return $(this).wrapInner(link);
});

이 솔루션은 이전에 제공된 솔루션보다 다음과 같은 이점을 제공합니다.

  • 에서 HTML 태그 (예 : <br>태그)를 제거하지 <address>않으므로 서식이 유지됩니다.
  • URL을 올바르게 인코딩합니다.
  • 인코딩 후 생성 된 URL이 더 짧고 깨끗하며 사람이 읽을 수 있도록 추가 공간을 축소합니다.
  • 유효한 마크 업을 생성합니다 (Mr.Hendershot의 솔루션 생성은와 <a><address></address></a>같은 <address>인라인 요소 내에서 허용되지 않는 블록 수준 요소로 인해 유효하지 않습니다) <a>.

주의 사항 : <address>태그에 <p>또는 과 같은 블록 수준 요소가 포함되어 있으면 태그에 해당 블록 수준 요소가 포함 되므로이<div> JavaScript 코드는 잘못된 마크 업으로 생성됩니다 <a>. 그러나 다음과 같은 일을하는 경우 :

<address>
  The White House
  <br>
  1600 Pennsylvania Ave NW
  <br>
  Washington, D.C.  20500
</address>

그럼 잘 작동합니다.


코드를 내 요구에 맞게 조정하여 프로젝트에서 솔루션을 사용했습니다. 그것은 지금 작동합니다.
Mycodingproject

2

이것은 Google지도 기사 중 하나에서 찾은 것입니다.

  1. Google지도를 엽니 다 .
  2. 포함시키려는지도 또는 스트리트 뷰 이미지가지도에 표시되는지 확인하십시오.
  3. 왼쪽 상단에서 기본 메뉴 ☰를 클릭하십시오.
  4. 지도 공유 또는 포함을 클릭하십시오 .
  5. 표시되는 상자 상단에서 내장 지도 탭을 선택합니다 .
  6. 원하는 크기를 선택한 다음 코드를 복사하여 웹 사이트 나 블로그의 소스 코드에 붙여 넣습니다.

참고 : 라이트 모드 에서지도를 사용 하는 경우지도를 포함 할 수 없습니다. 포함 된지도에서 교통 정보 및 기타 일부지도 정보를 사용하지 못할 수 있습니다.

여기에 이미지 설명을 입력하십시오


그것은 나를 위해 작동합니다. 이 포함 코드를 복사하여 웹 사이트에 붙여 넣습니다.
Kabir Hossain 8

1

http://www.labnol.org/internet/tools/short-urls-for-google-maps/6604/ 그들은 꽤 잘 작동하는 짧은 URL을 보여

Google지도 URL은 특히 IM, 트윗 또는 이메일로 보낼 때 다루기 어렵습니다. MapOf.it는 위치의 주소를 검색 매개 변수로 지정하여 Google지도에 빠르게 연결할 수있는 방법을 제공합니다.

http://mapof.it/

내가 디자인 한 몇 가지 응용 프로그램에 사용했으며 매력처럼 작동했습니다.


1
http://maps.google.com/maps?q=<?php echo urlencode($address); ?> 

인코딩 ur는 수렴하고 공백과 같은 모든 추가 요소를 추가합니다. 그래서 u는 비행기 문자 코드를 쉽게 DB에서 가져 와서 추가 할 특수 문자에 대한 걱정없이 사용할 수 있습니다


1
encodeURIComponent는 자바 스크립트이므로 urlencode ($ address)를 사용해야합니다.
ximi

1

가장 좋은 방법은이 줄을 사용하는 것입니다.

var mapUrl = "http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=16900+North+Bay+Road,+Sunny+Isles+Beach,+FL+33160&amp;aq=0&amp;sll=37.0625,-95.677068&amp;sspn=61.282355,146.513672&amp;ie=UTF8&amp;hq=&amp;hnear=16900+North+Bay+Road,+Sunny+Isles+Beach,+FL+33160&amp;spn=0.01628,0.025663&amp;z=14&amp;iwloc=A&amp;output=embed"

필요한 경우 첫 번째 주소와 두 번째 주소를 교체하십시오.

작업 샘플을 볼 수 있습니다


1

사이트의 모든 주소 (각 주소 태그에 싸여 있음)에 대해이 작업을 수행 해야하는 비슷한 문제가있었습니다. 이 jQuery 비트가 저에게 효과적이었습니다. 각 <address>태그를 잡고 태그에 포함 된 주소가 포함 된 Google지도 링크로 래핑합니다!

$("address").each(function(){

    var address = $(this).text().replace(/\,/g, '');
    var url = address.replace(/\ /g, '%20');

    $(this).wrap('<a href="http://maps.google.com/maps?q=' + url +'"></a>');

}); 

작업 예-> https://jsfiddle.net/f3kx6mzz/1/


2
문자열을 수동으로 URL 이스케이프하려고 시도하는 encodeURIComponent대신 대신 사용할 수 있습니다 .
Samuel

0

또한 http://code.google.com/apis/maps/documentation/webservices/index.html#BuildingURLs 주소를 수동으로 URLENCODE하려는 경우

이를 사용하여 GM 표준에 맞는 특정 규칙을 만들 수 있습니다.


불행히도 이것은 404로 이어집니다.
대런 모나한

1
죄송합니다. 이 의견은 매우 오래되었습니다 ...이 질문에 사용 된 API 버전이 아직 의심 스럽지만 다음 링크가 참조하는 데 사용 된 내용은 다음과 같습니다. web.archive.org/web/20110420023220/https:// code.google.com/apis/…
Ed Meacham

0

C # Replace 메소드는 일반적으로 저에게 효과적입니다.

foo = "http://maps.google.com/?q=" + address.Text.Replace(" ","+");

0

방금 이것을 발견하고 공유하고 싶습니다 ..

  1. maps.google.com에서 주소를 검색하십시오.
  2. 오른쪽 하단의 톱니 바퀴 아이콘을 클릭하십시오
  3. "공유 또는 포함 맵"을 클릭하십시오
  4. 짧은 URL 확인란을 클릭하고 결과를 href.에 붙여 넣습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.