문제

이 시나리오가 있습니다. 누구든지 나에게 격차를 메울 수 있습니까? 이렇게 :

데이터베이스 테이블 맵의 필드 :

MAP_ID, 좌표, Markertitle, Markerfield.

뒤에 코드 :

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

지금, 나는 단순히 친구 변수와 codebehind에 pageload에서 그들의 값을 가져 오는 codebehind에 하나의 googlemap을 보여줄 수 있도록 한 번에 하나의 값을 할당하고 있습니다. 맵, 그와 같습니다.

뒤에 코드 :

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>

위의 절차에서 다음과 같은 것들로 어떻게 이동할 수 있습니까?

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

나는 이것이 너무 많은 것을 알고 있다는 것을 알고 있으므로 도움을 주셔서 감사합니다 ...

도움이 되었습니까?

해결책

나는 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);

});
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top