6

Googleマップは初めてで、スクリプトの専門家でもありません。あなたが提供できるどんな助けにも前もって感謝します。

店舗の場所のページにグーグルマップを載せています。検索を使用して、店舗の場所に必要なマーカーを表示する地図を取得することができました。ここで、infoWindowを標準のgoogleウィンドウのように表示するようにします。しかし、placesライブラリで見つけたコードを使用すると、結果は改行なしでフォーマットされていない状態で表示され、情報が不足している場合などにエラーが表示されます...検索しましたが、役立つものは見つかりませんでした-それで、これがすでに答えられているなら、私を許してください-そして私はグーグルプレイスライブラリを何度も読んだので、私は密集しているか、彼らはこの特定の質問に対処していません。

ユーザーがページにリストされている店舗の場所をクリックし、1つのマーカーで地図を表示したい(検索を通じてそれを実現できると思います)。クリックしたときに店舗情報を情報ウィンドウに表示したいマーカー上(できればinfoWindowを既に開いてほしいのですが、その上にも何も見つかりませんでした)。私はこのサイトを初めて利用するため、infoWindowの画像を投稿できないので、必要ないことを願っています。グーグルの地図のウェブサイトのように、私はきれいにフォーマットされた名前、評判の星、フォーマットされた住所、電話番号とウェブサイト、そしてそれが存在するならビジネスの写真が欲しいです。以下で使用する例は、このすべての情報がgoogle内に存在するビジネスの場合です。私が現在マップ用に持っているコードが含まれています。

単に私をプレイスライブラリに戻すために返信しないでください。それがあなたが持っているすべてであるならば、それは助けにはなりません。いくつかの説明と理想的には例が必要です。ありがとう。

 <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>
4

1 に答える 1

3

最後に、infoWindowの境界線の削除に関する質問に答えていた別の投稿で、infoWindow をフォーマットするためのコードをいくつか見つけました。

これが私の例です:

 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>' ) ;

また、 Places Libraryで説明されている getDetails 関数の使用方法も理解しました。

評価情報を取得する方法 (タグを使用していますが、エラーが発生します)、場所の画像を取得する方法、または「未定義」エラーが表示されないようにする方法はまだわかりません。

最後の要素は、マップがロードされたときに infoWindow を開くことです...それについての投稿を見ましたが、機能させることができませんでした。

于 2012-05-18T04:58:54.950 に答える