I'm using this code for google maps, the maps in this example is showing 3 pins and it's working fine.
<script>
function loadGmapAPI()
{
var script = document.createElement("script");
script.src = "https://maps.googleapis.com/maps/api/js?key=[[API HERE]]&callback=initMap";
script.type = "text/javascript";
document.getElementsByTagName("head")[0].appendChild(script);
}
function initMap() {
var pinone = {
info: '<p>html here</p>`]]',
lat: 10.000,
long: -10.000
};
var pintwo = {
info: '<p>html here</p>`]]',
lat: 20.000,
long: -20.000
};
var pinthree = {
info: '<p>html here</p>`]]',
lat: 30.000,
long: -30.000
};
var locations = [
[pinone.info, 10.000.lat, -10.000.long],
[pintwo.info, 20.000.lat, -20.000.long],
[pinthree.info, 30.000.lat, -30.000.long],
];
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 15,
center: new google.maps.LatLng(5.000,-5.000),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow({});
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
google.maps.event.addListener(marker, 'click', (function (marker, i) {
return function () {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
smoothScroll();
}
})(marker, i));
}
}
Once the map is loaded, I need display only two of the Pins using select inputs in a form:
<form id="form">
<select id="selectFrom">
<option value=""></option>
<option value="pinone" data-lat="10.000" data-long="-10.000">Pin One</option>
<option value="pintwo" data-lat="20.000" data-long="-20.000">Pin Two</option>
<option value="pinthree" data-lat="30.000" data-long="-30.000">Pin Three</option>
<select>
<select id="selectTo">
<option value=""></option>
<option value="pinone" data-lat="10.000" data-long="-10.000">Pin One</option>
<option value="pintwo" data-lat="20.000" data-long="-20.000">Pin Two</option>
<option value="pinthree" data-lat="30.000" data-long="-30.000">Pin Three</option>
<select>
</form>
The data-lat and data-long are just optional I don't know if is really necessary.
what is the best way to do it?