4

顧客の郵便番号を表示し、地図上にマーカーでマークする次のコードがあります。

<?php if($_GET['postcode']){ ?>

//alert(<?php echo $_GET['postcode'];?>)

<?php }?>

      function initialize() {
        var mapOptions = {
          zoom: 4,
          center: new google.maps.LatLng("<?php echo $_GET['postcode'];?>"),
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };

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


        var addressArray = new Array("<?php echo $_GET['postcode'];?>");
        var geocoder = new google.maps.Geocoder();

        var markerBounds = new google.maps.LatLngBounds();

        for (var i = 0; i < addressArray.length; i++) {
        geocoder.geocode( { 'address': addressArray[i]}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {

        var marker = new google.maps.Marker({
        map: map,
        position: results[0].geometry.location
        });
        markerBounds.extend(results[0].geometry.location);
        map.fitBounds(markerBounds);

        } else {
        alert("Geocode was not successful for the following reason: " + status);
        }
        });
        }
      }

      function loadScript() {
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&' +
            'callback=initialize';
        document.body.appendChild(script);
      }

      window.onload = loadScript;
    </script>

マーカーをクリックしたときに必要なのは、顧客が情報を注文するポップアップ バブルです。ポップアップ バブルを表示するには、上記に何を追加する必要がありますか?

4

2 に答える 2

5

InfoWindow オーバーレイを確認してください: https://developers.google.com/maps/documentation/javascript/overlays#InfoWindows

つまり、いくつかのコンテンツを含むバルーンが表示されます。

コードに追加する必要があるのは次のとおりです。

スクリプトの先頭でグローバル変数として:

var infowindow;

マップ API の初期化時:

function initialize() {
  infowindow = new google.maps.InfoWindow();

マーカーの作成後:

var marker = new google.maps.Marker({
    map: map,
    position: results[0].geometry.location
});

google.maps.event.addListener(marker, 'click', function() {
   infowindow.setContent("<p>Some HTML content</p>");
   infowindow.open(map,marker);
});

これがお役に立てば幸いです

于 2013-05-09T23:53:09.293 に答える
0

ここまで読む必要があります...

https://developers.google.com/maps/documentation/javascript/overlays

私が思う基本理念は

var marker = new google.maps.Marker({
    position: myLatlng,
    title:"Hello World!"
});
于 2013-01-14T15:26:55.700 に答える