Я использую Google Maps V3 и хочу:
Установить центр карты на определенную широту. Я использую:
map.setCenter (новый google.maps.
Установите точку в этой центральной точке. В настоящее время я использую:
var point = new google.maps.LatLng (mylat, mylong);
marker = map_create_marker (точка, «Мое всплывающее окно», map_icon_red);
С помощью этой функции:
function map_create_marker (point, html, icon) {
var marker = new google.maps.Marker ({
позиция: точка,
карта: карта,
значок: значок
тень: map_icon_shadow
});
if (html! = "") {
var infowindow = new google.maps.InfoWindow ({
содержание: html
});
google.maps.event.addListener (marker, 'click', function () {
infowindow.open (карта, маркер);
});
}
маркер возврата;
}
Разместите гораздо больше маркеров, используя тот же метод, что и выше.
Проблема в том, что когда я устанавливаю центр, как указано выше, он всегда отображает только первый маркер. Но если я не устанавливаю центр, он отображает все маркеры. Как заставить их работать обе?
Вот полный код javascript:
<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>