-2

У меня возникли проблемы с отображением информационного окна, когда я нажимаю в любом месте на картах Google. Когда вы нажимаете в любом месте карты, я бы хотел отобразить маркер и информационное окно, показывающее широту и долготу? Как это может быть сделано?Google Maps добавляет информационное окно на карте Нажмите

Это код, который я до сих пор:

<script type="text/javascript"> 

    var locations = <?php echo json_encode($js_array);?>; 
    var lats = <?php echo json_encode($lats);?>; 
    var lats = <?php echo json_encode($iphoto);?>; 

    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 10, 
     center: new google.maps.LatLng(<?php echo $latitude;?>, <?php echo $longitude;?>), 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 

    var infowindow = new google.maps.InfoWindow(); 

    var marker, i; 
    var latlngbound = new google.maps.LatLngBounds(); 

    for (i = 0; i < locations.length; i++) { 
     console.log(locations[i].lat); 
     // CREATE LATLNG OBJECT AND USE IT TO EXTEND THE LATLNGBOUNDS 
     var latlng = new google.maps.LatLng(locations[i].latitude, locations[i].longitude); 
     latlngbound .extend(latlng); 

     marker = new google.maps.Marker({ 
      position: new google.maps.LatLng(locations[i].latitude, locations[i].longitude), 
      map: map, 
      animation: google.maps.Animation.DROP, 
      icon: {size: new google.maps.Size(30, 30), 
      scaledSize: new google.maps.Size(30, 30), 
      url: locations[i].iprofilephoto,} 
     }); 


     google.maps.event.addListener(marker, 'click', (function(marker, i) { 
      return function() { 
       infowindow.setContent("<div><img style='width:40px;height:40px' src='"+locations[i].iprofilephoto+"'>"+locations[i].name+"</div><div><img style='width:100px;height:100px' src='"+locations[i].iphoto+"'></div>"); 
       infowindow.open(map, marker); 
      } 
     })(marker, i)); 
     map.fitBounds(latlngbound); 

    } 
</script> 
+0

Нет. Свяжите слушателя событий щелчка на объекте карты. – MrUpsidown

ответ

0

Все, что вам нужно в documentation.

google.maps.event.addListener(map, 'click', function(e) { 

    var marker = new google.maps.Marker({ 
     position: e.latLng, 
     map: map 
    }); 

    infowindow.setContent(e.latLng.toString()); 
    infowindow.open(map, marker); 
}); 
Смежные вопросы