Чтение из базы данных местоположений - PullRequest
0 голосов
/ 04 марта 2009

У меня есть этот сценарий, кто-нибудь может заполнить пробелы для меня? Это так:

Поля базы данных таблиц карт:

Map_ID, Координаты, MarkerTitle, MarkerField.

Код сзади:

Dim myTableAdapter As New myDatasetTableAdapters.tblMapsTableAdapters
Dim myTable As myDataset.tblMapsDataTable = myTableAdapter.GetAllMaps()

Прямо сейчас я присваиваю по одному значению за раз, чтобы иметь возможность показывать одну googleMap на своей странице, просто имея переменные Friend и в codebehind, который получает их значения в PageLoad, и я объявил переменные с тем же именем в моем скрипте это показывает карты, это как:

Код сзади:

Friend coordinates As String
Friend zoom As String
Friend maptitle As String
Friend text As String

Сценарий:

<script type="text/javascript">
  function load() {
    var map = new GMap2(document.getElementById("map"));
    var marker1 = new GMarker(new GLatLng(<%=coordinates%>));
    var html1="<%=maptitle%><br/>" + "<%=text%>";
    map.setCenter(new GLatLng(<%=coordinates%>), 5);
    map.setMapType(G_HYBRID_MAP);
    map.addOverlay(marker1);

    map.addControl(new GLargeMapControl());
    map.addControl(new GScaleControl());
    map.addControl(new GMapTypeControl());
    marker.openInfoWindowHtml(html1);
  }
</script>

Как я могу перейти от описанной выше процедуры к чему-то вроде: передачи всей таблицы таблиц JavaScript в JavaScript или чтения этих данных (извлечение информации из базы данных изнутри стороны JavaScript), а затем итерации следующим образом:

For Each map In MapsTable
{
var marker1 = new GMarker(new GLatLng(<%=coordinates%>));
var html1="<%=maptitle%><br/>" + "<%=text%>";
map.addOverlay(marker1);
marker.openInfoWindowHtml(html1);
}

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

1 Ответ

1 голос
/ 04 марта 2009

Я собираюсь использовать jQuery для упрощения вещей, надеюсь, что все в порядке ...

Выполните поиск в базе данных на стороне сервера и отправьте данные в HTML. Вы должны искать что-то вроде этого:

<div id="maps-table">
  <div class="map-entry">
    <span class="map-title">Title 1</span>
    <span class="map-text">Text 1</span>
    <span class="map-coordinates">Coordinates 1</span>
  </div>
  <div class="map-entry">
    <span class="map-title">Title 2</span>
    <span class="map-text">Text 2</span>
    <span class="map-coordinates">Coordinates 2</span>
  </div>
  ...
</div>

Если вы используете что-то вроде ASP.NET, вы можете использовать asp: Repeater.

После того, как у вас есть данные, представленные в вашем HTML, вы можете запросить и выполнить итерацию по ним:

$('#maps-table .map-entry').each(function() {

  var title = $(this).find('.map-title').text();
  var text = $(this).find('.map-text').text();
  var coordinates = $(this).find('.map-coordinates').text();

  // Add map markers here, eg:

  var marker = new GMarker(new GLatLng(coordinates));
  var html = title + "<br/>" + text;

  map.addOverlay(marker);
  marker.openInfoWindowHtml(html);

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...