Я использую API Google Maps 3 для своего приложения.Google maps API 3 нужна помощь
Так что я хочу сделать следующее. При загрузке страницы я получить массив позиций в этом формате:
var locations = [
['Bondi Beach', -33.890542, 151.274856, 4],
['Coogee Beach', -33.923036, 151.259052, 5],
['Cronulla Beach', -34.028249, 151.157507, 3],
['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
['Maroubra Beach', -33.950198, 151.259302, 1]
];
Фирса Я хочу, чтобы добавить маркер к каждому из этого positins
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
Картина, которая идет по маркеру:
var image = new google.maps.MarkerImage("images/truck3.png",
new google.maps.Size(32.0, 37.0),
new google.maps.Point(0, 0),
new google.maps.Point(16.0, 18.0)
);
var shadow = new google.maps.MarkerImage("images/shadow-truck3.png",
new google.maps.Size(51.0, 37.0),
new google.maps.Point(0, 0),
new google.maps.Point(16.0, 18.0)
);
var marker = new google.maps.Marker({
position: map.getCenter(),
map: map,
icon: image,
shadow: shadow,
title: 'Click to zoom'
});
И это должно масштабировать все маркеры, которые инициализируются в центре экрана, но только один раз в начале позже в центре не используется, так как пользователь может f иш посмотреть что-то еще на карте.
Я хочу, чтобы маркеры двигались все время, поэтому, возможно, мне нужно добавить обработчик событий, чтобы все время получать новую позицию?
Затем, когда вы нажимаете на маркер, вы увеличиваете масштаб, а маркер все еще перемещается (получая новую позицию), но теперь мне нужно использовать этот идентификатор, который я вышлю в массиве php, чтобы я мог вызвать некоторые php функция с этим параметром.
После этого, когда пользователь нажимает на кнопку, которая находится сбоку, я хочу, чтобы она могла прийти в начале моего запроса, и это означает, что загруженные маркеры находятся в центре экрана.
Часть с щелчку:
google.maps.event.addListener(marker, 'click', function() {
map.setZoom(13);
map.setCenter(marker.getPosition());
google.maps.event.addListener(map, 'center_changed', function() {
// 1 seconds after the center of the map has changed, pan back to the
// marker.
window.setTimeout(function() {
map.panTo(marker.getPosition());
}, 1000);
});
});
}
Поэтому в основном я сказал вам все, что я хочу достичь, я уверен, что многие из вас сделал то же самое. Это часть кода из множества источников, которые мне нужны, чтобы они работали вместе и добавляли некоторые более мелкие новые функции, как я писал выше.
Спасибо
Возможно, есть много текста, но я думаю, что запрос довольно маленький, если вы знаете, что делаете :) –
Дубликат вашего вопроса: http://stackoverflow.com/q/10931109/1314132. Пожалуйста, взгляните на новое изменение, которое я добавил к последним изменениям в вашем исходном вопросе и посмотрим, поможет ли это. Не дать вам трудного времени, но имеет смысл добавить ясность в исходный вопрос, а не создавать дублирующий вопрос с дополнительной ясностью. –
Я думаю, что здесь слишком много для бесплатной помощи (совершенно независимо от дублирования другого вопроса, а не для его уточнения). 1: увеличение до маркеров. 2: Периодически обновляйтесь. 3: Щелчок маркером или нажатие кнопки или оба [недостаточно данных, чтобы узнать, что вы здесь хотите). Каждый из них следует задавать последовательно в отдельных вопросах, основываясь на том, что было раньше, и показывая, какой код вы пытались достичь цели. –