2012-05-17 22 views
6

Yeni Google Haritalar'a gönderilmesini sağlar ve bir komut dosyası uzmanı değildir. Sağladığınız herhangi bir yardım için şimdiden teşekkür ederiz.Google Maps Places api, standart özet içeriğin bir işaretçiden nasıl

Mağaza konumlarının bulunduğu bir sayfaya bir google harita yerleştiriyorum. Haritayı kullanarak mağaza konumu için istediğim işaretçiyi görüntülemek için haritayı almayı başardım. Şimdi infoWindow'un standart google penceresi gibi görünmesini istiyorum. Ancak yer kütüphanesinde bulabildiğim kodu kullanarak, sonuçlar satır sonu olmadan biçimlendirilmiş olarak gösterilmiyor ve eğer bir bilgi eksikse, bir hata varsa, hatalar gösteriyor ... Arama yaptım ve yardımcı olan bir şey bulamadım. - bu yüzden zaten cevap verdiyse lütfen beni affet - google yer kütüphanesinden sayısız kez okudum ya bu yüzden yoğunum ya da sadece bu soruya cevap vermiyorlar.

Kullanıcı, sayfada listelenen bir mağaza konumunu tıklayacak ve onlara bir işaretçi ile haritayı göstermek istiyorum (arama yoluyla, bunun gerçekleşmesini sağlayabileceğimi düşünüyorum) ve mağaza bilgilerinde görünmesini istiyorum infoWindow işaretleyiciyi tıklattıklarında (tercihen infoWindow'u zaten açmayı isterdim ama bu konuda bir şey bulamadım). Siteye yeni olduğum için infoWindow'un bir resmini yayınlayamıyorum, bu yüzden umarım gerekli değil. Google'ın harita web sitesi gibi, güzel bir biçimlendirilmiş isim, şöhretli yıldızlar, biçimlendirilmiş bir adres, telefon numarası ve web sitesi, varsa işin resmi ile birlikte istiyorum. Aşağıda kullandığım örnek, tüm bu bilgilerin google içinde bulunduğu bir işletme içindir. Şu anda harita için sahip olduğum kod dahildir.

Lütfen beni yalnızca yer kütüphanesine yönlendirmek için cevap vermeyin; Eğer varsa, o zaman o yardımcı olmaz. Bazı açıklamalara ve ideal olarak bir örneğe ihtiyacım var. Teşekkürler.

<script type="text/javascript"> 
    var map; 
    var service; 
    var infowindow; 

    function initialize() { 
    var mvale = new google.maps.LatLng(40.708572,-74.017385); 

    map = new google.maps.Map(document.getElementById('map_canvas'), { 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     center: mvale, 
     zoom: 16 
    }); 

    var request = { 
     location: mvale, 
     radius: '500', 
    keyword: "Michelle Vale" 
    }; 

    infowindow = new google.maps.InfoWindow(); 
    var service = new google.maps.places.PlacesService(map); 
    service.search(request, callback); 
    } 

    function callback(results, status) { 
    if (status == google.maps.places.PlacesServiceStatus.OK) { 
     for (var i = 0; i < results.length; i++) { 
     var place = results[i]; 
     createMarker(results[i]); 
    } 
    } 
    } 
    function createMarker(place) { 
     var placeLoc = place.geometry.location; 
     var marker = new google.maps.Marker({ 
      map: map, 
      position: place.geometry.location 
     }); 

     google.maps.event.addListener(marker, 'click', function() { 
      infowindow.setContent(place.name + place.rating + place.vicinity + 
      place.formatted_address + place.website); 
      infowindow.open(map, this); 
     }); 
     } 

    function openInfoWindow(id){return true;} 

    google.maps.event.addDomListener(window, 'load', initialize); 
    </script> 

cevap

3

Sonunda infowindow başka post where they were answering a question about removing the border yılında infowindow biçimlendirme için bazı kodlar yer. Ben de Places Library

Hala nasıl derecelendirme bilgilerini almak için bilmiyorum

(I açıklanan getDetails işlevini nasıl kullanılacağını anladım

infowindow.setContent('<span style="padding: 0px; text-align:left" align="left"><h5>' + place.name + '&nbsp; &nbsp; ' + place.rating 
          + '</h5><p>' + place.formatted_address + '<br />' + place.formatted_phone_number + '<br />' + 
          '<a target="_blank" href=' + place.website + '>' + place.website + '</a></p>') ; 

: Burada

benim örnektir etiketini kullanıyorum ama bir hata veriyor), konum için resmin nasıl alınacağı, ya da "tanımsız" hatanın nasıl görüntüleneceğinin nasıl ortadan kaldırılacağı.

Son eleman 10 adresinde bir bilgi açıkkendür. Bu harita açıldığında bu konuyu görüntü listemize ekledi.

+0

Tüm yerlerin derecelendirme verileri olmadığından, veriler mevcut değilse "place.rating" değişkeni "undefined" olacaktır. Kullanmadan önce değişkenlerin 'undefined' olmadığını kontrol etmelisiniz. Şu anda bir yerin görüntüsünü almanın bir yolu yoktur. Bunun için Rehber API'sı sorunu izleyicisinde bir özellik isteği var: http://code.google.com/p/gmaps-api-issues/issues/detail?id=3552 Lütfen "yıldız" simgesini tıklayın. Gelecekteki değişikliklerden haberdar edilmek ve çözüldüğünü görmekle ilgilendiğinizi bildirmek için. –