2012-06-20 6 views
6

Załóżmy, że mam dwie lokalizacje biurowe, które chcę użyć na mojej stronie kontaktowej. Chcę mieć wbudowaną Mapę Google, która pokazuje obie te lokalizacje. W samych Mapach Google mogę wyświetlać oba znaczniki na mapie. Jednak wbudowany kod HTML wykorzystuje tylko pierwszy wprowadzony adres.Jak dodać dodatkowe znaczniki mapy do Map Google, które są osadzone w witrynie bez używania interfejsu API? Czy to niemożliwe?

Pytanie 1: Czy istnieje możliwość zmiany kodu HTML umieszczonego na stronie przez Google, aby wyświetlić znacznik mapy dla drugiej lokalizacji?

Pytanie 2 (tylko jeśli odpowiedź na powyższe pytanie brzmi "tak"): Jak?

Oto przykładowy kod do osadzenia na stronie Google daje:

<iframe width="920" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.ca/maps?hl=en&amp;client=safari&amp;q=33+Victoria+St.,+Toronto,+ON+M5C+3A1&amp;ie=UTF8&amp;hq=&amp;hnear=33+Victoria+St,+Toronto,+Ontario+M5C+3A1&amp;gl=ca&amp;t=m&amp;ll=43.536603,-79.796448&amp;spn=0.696882,2.526855&amp;z=9&amp;iwloc=A&amp;output=embed"></iframe><br /><small><a href="https://maps.google.ca/maps?hl=en&amp;client=safari&amp;q=33+Victoria+St.,+Toronto,+ON+M5C+3A1&amp;ie=UTF8&amp;hq=&amp;hnear=33+Victoria+St,+Toronto,+Ontario+M5C+3A1&amp;gl=ca&amp;t=m&amp;ll=43.536603,-79.796448&amp;spn=0.696882,2.526855&amp;z=9&amp;iwloc=A&amp;source=embed" style="color:#0000FF;text-align:left">View Larger Map</a></small> 
+0

Można wyświetlić dwie różne mapy z każdą lokalizacją i informacjami, aby klient wiedział, że istnieją dwie różne lokalizacje i różne informacje kontaktowe dla każdego z nich. – gabeio

+0

Tak, to był mój plan wycofania, ale najlepiej chcę mieć go na jednej mapie. – guptron

Odpowiedz

11

Można osiągnąć ten inny sposób, za pomocą My Places. Oto kroki, aby to osiągnąć:

  1. W Mapach Google, zawiadomienie przycisk My Places obok Get Directions - Kliknij na to.
  2. Kliknij na Create a Map w lewym panelu
  3. Podaj tytuł i opis (być może o swoich biurach), a następnie naciśnij Zapisz.
  4. Teraz wyszukaj swoje dwie lokalizacje, tak jak na pasku wyszukiwania.
  5. Kliknij na w dolnej części listy wyników na lewym panelu i określ mapę, na którą chcesz ją zapisać (powinien to być tytuł ustawiony wcześniej).
  6. Zrób to dla obu lokalizacji, a następnie użyj narzędzia Umieść, tak jak zwykle chcesz umieścić swoją mapę.
+0

Tak, to działa, ale musisz zalogować się w Google, aby utworzyć niestandardową mapę Mojego Miejsca.Później, kiedy mapa jest osadzona na stronie internetowej, jeśli użytkownik kliknie znacznik mapy, pojawiający się dymek zawiera link do Moich miejsc twórcy tej mapy (i pokazuje imię twórcy). Czy istnieje sposób na zachowanie prywatności? – guptron

+0

hej, nie jestem w stanie odtworzyć twojego problemu tutaj (http://jsfiddle.net/svigna/AFWge/) .. jedyny czas, kiedy pokazuje "Moje miejsca" jest na dole, gdzie pyta 'Wyświetl losowo w większa mapa'. –

+0

Po kliknięciu opcji "Wyświetl losowo na większej mapie" następuje przeniesienie do utworzonej mapy i wyświetlana jest informacja "Utworzono w dniu 20 czerwca". Czy musisz się zalogować, aby utworzyć tę mapę? Kiedy próbowałem, musiałem się zalogować. Lub co zrobiłeś, żeby było anonimowe? – guptron

0

Spróbuj zapisać lokalizacje biurowe do Moich map Google, a następnie podając adres łącza mapy w href iframe

6

Nie jestem pewien co do odpowiedzi na twoje pytanie, ale interfejs API Google jest całkiem wygodny i stosunkowo łatwy do nauczenia.

Utworzenie markera wymaga tylko 3 linii, nowego znacznika, pozycji znacznika i mapy, której używasz. Tworzenie mapy z wieloma znacznikami jest również stosunkowo krótkie w JS. Oto próbka.

function initialize() { 
    var myOptions = { 
     zoom: 4, 
     center: new google.maps.LatLng(-25.363882, 131.044922), 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

    var map = new google.maps.Map(document.getElementById('map_canvas'), 
     myOptions); 

    var marker = new google.maps.Marker({ 
     position: map.getCenter(), 
     map: map, 
    }); 
    var marker2 = new google.maps.Marker({ 
     position: new google.maps.LatLng(35, 96), 
     map: map, 
    }); 
} 
google.maps.event.addDomListener(window, 'load', initialize); 

Korzystanie z interfejsu API umożliwia także dalsze dodawanie nowych funkcji do mapy, jeśli zajdzie taka potrzeba w przyszłości. W końcu możesz chcieć, aby znaczniki wyświetlały swoją lokalizację, a być może nawet wskazywały drogę do jednego ze znaczników. A Google napisał już cały ten kod, który jest dostępny dla każdego.

Oto nieco bardziej zaawansowany przykład wykorzystujący API Fusion Table, ale istnieje wiele ciekawych funkcji, które można wykorzystać oprócz samych znaczników. https://developers.google.com/fusiontables/docs/samples/infowindow_driving_directions

+0

Dzięki, spróbuję tego, ale nie mogę tego zaakceptować, ponieważ nie odpowiada konkretnie na pytanie o "bez API". – guptron

+2

Wiem. Jak już wspomniałem wcześniej, interfejs API jest łatwy do nauczenia, a korzystanie z interfejsu API pozwala łatwo dodawać więcej kodu i funkcji w przypadku, gdybyś chciał dalej rozwijać mapę. Jeśli nie korzystasz z API teraz, być może będziesz musiał przepisać cały kod w końcu, jeśli chcesz uzyskać więcej funkcji dla swojej mapy. – krikara