2016-10-19 3 views
1

У меня возникли проблемы с предоставлением маркерам Google Maps URL следующего кода.URL-адрес маркера Google Maps?

Предположим, я просто хочу добавить HREF (на Google.com или что-то еще) в «wpl_map_marker_image», поэтому, щелкнув изображение маркера, оно пойдет туда, как бы добавить это в код ниже?

    <script type="text/javascript"> 
         function wplookInitMap() { 
          // Define the centre of the map and the position of the marker 
          var mapCenter = { 
           lat: <?php echo $wpl_map_latitude; ?>, 
           lng: <?php echo $wpl_map_longitude; ?> 
          }; 

          // Define map options 
          var mapOptions = { 
           zoom: <?php echo $wpl_map_zoom; ?>, 
           center: mapCenter, 
           draggable: false, 
           disableDefaultUI: true, 
           scrollwheel: false, 
           <?php echo (!empty($wpl_map_snazzy_style) ? 'styles: ' . $wpl_map_snazzy_style : ''); ?> 
          }; 

          // Generate the map 
          var map = new google.maps.Map(document.getElementById('contactMap'), mapOptions); 

          // Add a marker 
          var beachMarker = new google.maps.Marker({ 
           position: mapCenter, 
           map: map, 
           <?php echo (!empty($wpl_map_marker_image) ? 'icon: \'' . $wpl_map_marker_image . '\'' : ''); ?> 
          }); 

          // Center the map when the user resizes the window 
          google.maps.event.addDomListener(window, 'resize', function() { 
           map.setCenter(mapCenter); 
          }); 
         } 

         // Generate the map on page load 
         if (!window.addEventListener) { 
          window.attachEvent('load', wplookInitMap); 
         } else { 
          window.addEventListener('load', wplookInitMap, false); 
         } 
        </script> 

ответ

0

Попробуйте это,

Вы можете использовать window.open, как последовать за

google.maps.event.addListener(beachMarker, 'click', function() { 
    window.open("http://google.com/"); 
}); 

jsFiddel Демо:

http://jsfiddle.net/Lw6tF/14/

0

Ах спасибо, да, это называлось "beachMarker" в моем случае, но ваш код работает.

Если кому-то нужен и читает ее в будущем, здесь вы идете:

<script type="text/javascript"> 
          function wplookInitMap() { 
           // Define the centre of the map and the position of the marker 
           var mapCenter = { 
            lat: <?php echo $wpl_map_latitude; ?>, 
            lng: <?php echo $wpl_map_longitude; ?> 
           }; 

           // Define map options 
           var mapOptions = { 
            zoom: <?php echo $wpl_map_zoom; ?>, 
            center: mapCenter, 
            draggable: false, 
            disableDefaultUI: true, 
            scrollwheel: false, 
            <?php echo (!empty($wpl_map_snazzy_style) ? 'styles: ' . $wpl_map_snazzy_style : ''); ?> 
           }; 

           // Generate the map 
           var map = new google.maps.Map(document.getElementById('contactMap'), mapOptions); 

           // Add a marker 
           var beachMarker = new google.maps.Marker({ 
            position: mapCenter, 
            map: map, 
            <?php echo (!empty($wpl_map_marker_image) ? 'icon: \'' . $wpl_map_marker_image . '\'' : ''); ?> 
           }); 

            google.maps.event.addListener(beachMarker, 'click', function() { 
            window.open("http://google.com/"); 
            }) ; 

           // Center the map when the user resizes the window 
           google.maps.event.addDomListener(window, 'resize', function() { 
            map.setCenter(mapCenter); 
           }); 
          } 

          // Generate the map on page load 
          if (!window.addEventListener) { 
           window.attachEvent('load', wplookInitMap); 
          } else { 
           window.addEventListener('load', wplookInitMap, false); 
          } 
         </script> 
Смежные вопросы