I am using Google Maps V3 and I want to:
Set the center of the map to a particular latlng. I am using:
map.setCenter(new google.maps.LatLng(mylat,mylong));
Set a point in that center spot. I am currently using:
var point = new google.maps.LatLng(mylat,mylong); marker = map_create_marker(point,"My Popup",map_icon_red);
With this function:
function map_create_marker(point,html,icon) { var marker = new google.maps.Marker({ position: point, map: map, icon: icon, shadow: map_icon_shadow }); if(html!="") { var infowindow = new google.maps.InfoWindow({ content: html }); google.maps.event.addListener(marker, 'click', function() { infowindow.open(map,marker); }); } return marker; }
Position many more markers using the same method above
The problem is that when I set the center like above, it only ever displays the first marker. But if I don't set a center it displays all the markers. How can I get them to both work?
Here is the full javascript code:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script> <script type="text/javascript" language="JavaScript"> var map; var map_icon_green = new google.maps.MarkerImage( "http://mysite.com/green_pointer.png", new google.maps.Size(12,20), new google.maps.Point(0,0)); var map_icon_blue = new google.maps.MarkerImage( "http://mysite.com/blue_pointer.png", new google.maps.Size(12,20), new google.maps.Point(0,0)); var map_icon_yellow = new google.maps.MarkerImage( "http://mysite.com/yellow_pointer.png", new google.maps.Size(12,20), new google.maps.Point(0,0)); var map_icon_red = new google.maps.MarkerImage( "http://mysite.com/red_pointer.png", new google.maps.Size(12,20), new google.maps.Point(0,0)); var map_icon_shadow = new google.maps.MarkerImage( "http://mysite.com/shadow.png", new google.maps.Size(28,20), new google.maps.Point(-6,0)); var map_crosshair = new google.maps.MarkerImage( "http://mysite.com/cross-hair.gif", new google.maps.Size(17,17), new google.maps.Point(0,0)); function map_loader() { var myOptions = { zoom: 5, mapTypeId: google.maps.MapTypeId.ROADMAP, scrollwheel:false } map = new google.maps.Map( document.getElementById('map_container'), myOptions); map.setCenter(new google.maps.LatLng(53.0,-1.0)); // <![CDATA[ var point = new google.maps.LatLng(53.0,-4.0755); marker = map_create_marker(point,"some html which is OK",map_icon_red); // ]]> // <![CDATA[ var point = new google.maps.LatLng(-24.0,25.0); marker = map_create_marker(point,"some html which is OK",map_icon_red); // ]]> // <![CDATA[ var point = new google.maps.LatLng(54.0,-2.0); marker = map_create_marker(point,"some html which is OK",map_icon_red); // ]]> map.disableDoubleClickZoom = false; } function map_create_marker(point,html,icon) { var marker = new google.maps.Marker({ position: point, map: map, icon: icon, shadow: map_icon_shadow }); if(html!="") { var infowindow = new google.maps.InfoWindow({ content: html }); google.maps.event.addListener(marker, 'click', function() { infowindow.open(map,marker); }); } return marker; } var map_set_center = 0; function map_load_resize() { if(map_set_center==0) { map.setCenter(new google.maps.LatLng(53.0,-1.0)); } map_set_center = 1; } </script>
Please go to your map and drag and drop your map to the position you wish. You can also zoom in your map a little bit with mouse wheel or zoom cotrols on the bottom right corner of the map. Please remember to save your map after any changes. Hope that helps.
Try using this code for v3:
gMap = new google.maps.Map(document.getElementById('map')); gMap.setZoom(13); // This will trigger a zoom_changed on the map gMap.setCenter(new google.maps.LatLng(37.4419, -122.1419)); gMap.setMapTypeId(google.maps.MapTypeId.ROADMAP);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With