google maps click (trigger)
by Thomas Pitera
HTML
<div id="map"></div>
<button id="btn" onclick="clickLatLng() ">simulate click</button>
<script>
var map, infoWindow, marker, clickedLocation;
var src1 = 'https://raw.githubusercontent.com/piterat/kmlLink/642e292853adc55d34f4105d94cb024fac104db4/NEWYORK_SNOWLOADS.kml';
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {
lat: 42.8,
lng: -75.19
},
zoom: 5
});
NewYorkSnowLoads = new google.maps.KmlLayer(src1,{suppressInfoWindows: true,preserveViewport: true});
NewYorkSnowLoads.setMap(map);
infoWindow = new google.maps.InfoWindow({
content: ""
});
google.maps.event.addListener(NewYorkSnowLoads, "click", function(event) {
console.log("mapClick", event)
if (marker != null)
{
marker.setMap(null);
}
var latlng = event.latLng.lat() + "<br>" + event.latLng.lng();
var clickedLocation = event.latLng;
infoWindow.setContent(latlng);
infoWindow.open(map);
infoWindow.setPosition(event.latLng);
var snowloadtext = event.featureData.description;
// Puts down marker at Clicked Location
marker = new google.maps.Marker({map: map,position: clickedLocation,draggable: false});
})
}
function clickLatLng() {
console.log("clickLatLng...");
var e = {
latLng: new google.maps.LatLng((42.55), -76.17),
featureData: new google.maps.featureData()
};
google.maps.event.trigger(NewYorkSnowLoads, 'click', e);
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?callback=initMap" async defer></script>
CSS
html,
body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
#btn {
position: absolute;
width: auto;
height: 35px;
background-color: red;
left: 140px;
top: 15px;
cursor: pointer;
}