использование обычного цикла счетчиков для ввода пользователем собственной информации в маркер места

  • Автор темы AlhimiyA
  • Обновлено
  • 18, May 2024
  • #1
Ребята из правых игнорируют два моих последних поста, так как мне удалось разобраться в них самому, но этот требует усилий.

Кажется, я не особо внес свой вклад в свои последние посты и не знаю почему.

Я пытаюсь позволить пользователю вводить свою собственную информацию в свое место, например, ссылочный номер, но изо всех сил пытаюсь это сделать.

Я считаю, что для этого можно использовать обычный цикл счетчиков, но я не уверен, как и где его разместить, и даже правильно ли это делать.

Может кто-нибудь помочь мне с этим, пожалуйста.

Код ниже — это то, что мне удалось сделать до сих пор. <голова>

AlhimiyA


Рег
01 Jan, 2011

Тем
87

Постов
195

Баллов
660
  • 18, May 2024
  • #2
Используйте функцию вставки (выберите «код») вместо того, чтобы просто копировать и вставлять код. Иначе сложно понять, что там происходит. Я поместил ваш код в jsfiddle и не уверен, что там вообще что-то работает: https://jsfiddle.net/ddsty2ts/1/

Есть ли у вас пример (например, с другого сайта) того, каким он должен быть?
 

Bbegles


Рег
14 May, 2013

Тем
67

Постов
180

Баллов
545
  • 22, May 2024
  • #3
Меня устраивает.

Просто удалите или оставьте комментарий к этому:

 
var markers = [];

function createMarker(latlng, html, map) {
 var infowindow = new google.maps.InfoWindow({
 content: html
 });
 var marker = new google.maps.Marker({
 map: map,
 position: latlng
 });
 marker.addListener('mouseover', function() {
 infowindow.open(map, this);
 });
 marker.addListener('mouseout', function() {
 infowindow.close();
 });
 markers.push(marker);
}

// declare namespace
var up206b = {};

var map;

function trace(message) {
 if (typeof console != 'undefined') {
 console.log(message);
 }
}

up206b.initialize = function() {
 var latlng = new google.maps.LatLng(52.136436, -0.460739);
 var myOptions = {
 zoom: 13,
 center: latlng,
 mapTypeId: google.maps.MapTypeId.ROADMAP
 };
 map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
 up206b.geocode();
}

var geocoder = new google.maps.Geocoder();

up206b.geocode = function() {
 for (var i = 0; i < markers.length; i++) {
 markers = [];
 }

 var bounds = new google.maps.LatLngBounds();
 var addresses = [$('#address').val(), $('#address2').val()];

 addresses.forEach(function(address) {
 if (address) {
 geocoder.geocode({
 'address': address
 }, function(results, status) {
 if (status == google.maps.GeocoderStatus.OK) {
 map.setCenter(results[0].geometry.location);
 createMarker(results[0].geometry.location, address, map);
 bounds.extend(results[0].geometry.location);
 map.fitBounds(bounds);
 } else {
 alert("Geocode was not successful for the following reason: " + status);
 }
 });
 }
 });
}


Код (разметка): Что это должно делать?

Однако это работает только для первой отправки.

Если вы хотите, чтобы это работало неоднократно, вам следует изменить:

  for (var i = 0; i < markers.length; i++) { markers = []; } 


Код (разметка): to

  for (var i = 0; i < markers.length; i++) { markers.setMap(null); } markers = []; 


Код (разметка): Вот полный код:

  declare namespace 


Код (разметка):
 

Bobuk1


Рег
13 Oct, 2013

Тем
48

Постов
195

Баллов
475
  • 29, May 2024
  • #4
Это может показаться глупым, но я не знаю, как это сделать.

Я написал весь этот код в Dreamweaver на html-странице, и при тестировании через браузер он работает.

Что сейчас делает мой код: я разрешаю пользователю ввести два отдельных почтовых индекса и отправить их для одновременного размещения двух отметок.

Затем, когда вы наводите курсор мыши на маркеры, отображается информационное окно с почтовым индексом.

Теперь я хочу позволить пользователю вставлять свою собственную информацию, которую затем можно будет отправить для отображения на маркере, когда он наведет на него курсор мыши.
 

Leonspb


Рег
27 Apr, 2014

Тем
80

Постов
176

Баллов
576
  • 01, Jun 2024
  • #5
У меня нет примера, поскольку я все это сделал сам.

Я создал приложение в Dreamweaver, поэтому, если у вас есть такое приложение, вы можете скопировать и вставить мой код, и оно отобразит всю мою работу через ваш браузер.

В настоящее время все работает так, как я хочу, я просто хочу, чтобы он делал то, о чем я просил помощи.

Пожалуйста, может кто-нибудь дать мне несколько советов, так как я в полном тупике.
 

Schizo


Рег
06 Aug, 2012

Тем
85

Постов
202

Баллов
627
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно