im trying to create a google marker manager but get the error message marker is not defined, ive commented out the code that is causing the problem, i have it set to user clicking on the map and places a marker, i want it to be able to do this automatically appearing on the google map using the GOOGLE MARKER MANAGER
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<div id="map_canvas" style="width:500px; height:500px;"></div>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true">
</script>
<script type="text/javascript">
var map;
var counter;
var latlng;
var locationAddress;
var geocoder;
function initialize() {
geocoder = new google.maps.Geocoder();
latlng = new google.maps.LatLng(46.043830, 14.488864);
var myOptions = {
zoom: 16,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
counter = 0;
google.maps.event.addListener(map, 'click', function (event) {
map.setCenter(event.latlng);
placeMarker(event.latLng);
});
}
function placeMarker(location) {
var clickedLocation = new google.maps.LatLng(location);
latlng = location;
var marker = new google.maps.Marker({
position: location,
map: map
});
codeLatLng(location, marker);
}
function addLocationInfo(marker) {
var infoWindow = new google.maps.InfoWindow({ content: locationAddress, size: new google.maps.Size(50, 50) });
google.maps.event.addListener(marker, 'click', function () {
infoWindow.open(map, marker);
});
}
function codeLatLng(latlng, marker) {
if (geocoder) {
geocoder.geocode({ 'latLng': latlng }, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
locationAddress = results[1].formatted_address;
}
} else {
locationAddress = "Neznan naslov";
}
addLocationInfo(marker);
});
}
}
// // Create a new instance of the MarkerManager
// var mgr = new MarkerManager(map);
// // Create marker array
// var markers = [];
// // Loop to create markers and adding them to the MarkerManager
// for (var i = 0; i < 50; i += 0.1) {
// var marker = new GMarker(new GLatLng(59.0 + i, 13.80 + i));
// markers.push(marker);
// }
// // Add the array to the MarkerManager
// mgr.addMarkers(markers);
// // Refresh the MarkerManager to make the markers appear on the map
// mgr.refresh();
$(document).ready(function () {
initialize();
});
</script>
Error Message: MarkerManager is not defined
You’re mixing up Google Maps API 2 and API 3 code.
Remove the v=2 parameter or change it to v=3 (or v=3.5 for instance).
Change this:
sensor=truese
to either
sensor=true or sensor=false
Remove the API key, that’s only required for API 2.
Get rid of all the GMap2, GLatLng type of code that is for API 2 and change it all to be in API 3 syntax.