我试图创建一个谷歌标记管理器但是没有定义错误消息标记,我已经注释掉导致问题的代码,我将它设置为用户点击地图并放置标记,我想要它能够使用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>
错误消息:未定义MarkerManager
答案 0 :(得分:2)
您正在混合使用Google Maps API 2和API 3代码 删除v = 2参数或将其更改为v = 3(例如v = 3.5)。
改变这个: 传感器= truese 要么 sensor = true或sensor = false
删除API密钥,这只是API 2所必需的。
删除用于API 2的所有GMap2,GLatLng类型的代码,并将其全部更改为API 3语法。