Witam.
Mam taki kod:
<?php
$lat = '52.29924142';
$lng = '19.18350241';
?>
<script type="text/javascript">
//<![CDATA[
var map = null;
var marker = null;
var infowindow = new google.maps.InfoWindow(
{
size: new google.maps.Size(150, 50)
});
function createMarker(latlng, name, html) {
var contentString = html;
var marker = new google.maps.Marker({
position: latlng,
map: map,
zIndex: Math.round(latlng.lat() * -100000) << 5
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.setContent(contentString);
infowindow.open(map, marker);
});
google.maps.event.trigger(marker, 'click');
return marker;
}
function initialize() {
var myOptions = {
zoom: 7,
center: new google.maps.LatLng(
<?php echo $lat;?>,
<?php echo $lng;?>),
mapTypeControl: true,
mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
navigationControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
google.maps.event.addListener(map, 'click', function () {
infowindow.close();
});
google.maps.event.addListener(map, 'click', function (event) {
if (marker) {
marker.setMap(null);
marker = null;
}
marker = createMarker(event.latLng, "name", "<b>Wskaż lokalizację obiektu</b><br>" + event.latLng);
$(".lat").val(event.latLng.lat);
$(".lng").val(event.latLng.lng);
});
}
//]]>
</script>
<input type="hidden" name="lat" value="
<?php echo $lat;?>" class="lat">
<input type="hidden" name="lng" value="
<?php echo $lng;?>" class="lng">
<div id="map_canvas" style="width: 100%; height: 500px"></div>
Mój obecny kod wyświetla mapę google i po kliknięciu na mapie dodaje znacznik wraz z informacjami o współrzędnych geograficznych. Współrzędne są dodawane do 2 inputów.
W zmiennych $lat i $lng mam zapisane współrzędne z MySQL.
Problem polega na tym, że znacznik jest wyświetlany tylko po pierwszym kliknięciu na mapie.
Chciałbym zobaczyć znacznik na mapie także po załadowaniu strony internetowej.
Wie ktoś może jak to zrobić?