2013-10-01 4 views
0

Google지도 API를 처음 사용합니다. 마커로 하드 코어 값이있는지도를 만듭니다. 하지만 데이터베이스에서 가져온 값으로 마커를 만들고 싶습니다. 여기 내 코드가데이터베이스 값을 사용하여 Google지도 아이콘을 설정하는 방법

function initialize() { 

     var map = new google.maps.Map(document.getElementById("map_canvas"), { 
      mapTypeId: google.maps.MapTypeId.ROADMAP, 
      streetViewControl: false 
     }); 

     var markers = [    // Here I set the hard core values for my markers. 
      { lat: 22.64201389, lng: 88.43034722, name: "Airport" }, 
      { lat: 22.60944444, lng: 88.42694444, name: "Baguihati" }, 
      { lat: 22.53604167, lng: 88.36083333, name: "Ballygunge Phari" }, 
      { lat: 22.49895833, lng: 88.31902778, name: "Behala" }, 
      { lat: 22.65743056, lng: 88.36409722, name: "Dakshineshwar" }, 
      { lat: 22.62013889, lng: 88.39215278 , name: "Dum-Dum Station." }, 
      { lat: 22.52111111, lng: 88.36479167, name: "Gariahat" }, 
      { lat: 22.58763889, lng: 88.34027778, name: "Howrah" }, 
      { lat: 22.59131944, lng: 88.43291667, name: "Karunamayee East" }, 
      { lat: 22.52131944, lng: 88.38201389, name: "Kasba Bosepukur" }, 
      { lat: 22.60256944 , lng: 88.40166667 , name: "Lake Town" }, 
      { lat: 22.68993056, lng: 88.47569444, name: "Madhyam Gram_East" }, 
      { lat: 22.50875 , lng: 88.33284722 , name: " New Alipur" }, 
      { lat: 22.54409722 , lng: 88.36743056, name: "Park circus" }, 
     ]; 

     for (index in markers) addMarker(markers[index]); 
     function addMarker(data) { 
      new google.maps.Marker({ 
       position: new google.maps.LatLng(data.lat, data.lng), 
       map: map, 
       title: data.name 
      }); 

     } 

     var bounds = new google.maps.LatLngBounds(); 
     for (index in markers) { 
      var data = markers[index]; 
      bounds.extend(new google.maps.LatLng(data.lat, data.lng)); 
     } 
     map.fitBounds(bounds); 

제조업체의 데이터베이스 값을 설정하는 데 도움주세요. 값은 servlet에서 가져옵니다.

+0

을 저장 할 JQuery와 통해 검색이 코드를 시도 할 수 있습니다? –

+0

자바와 자바 스크립트는 완전히 다른 두 가지 언어입니다! –

+0

모르겠지만 나는 Ballygunge Phari에 가고 싶다. 그것은 지금까지 최고의 장소 이름입니다. –

답변

3

데이터베이스와 연결되는 PHP (또는 사용하는 언어) 페이지를 작성하고 JSON Array로 그 내용을 반환 할 수 있습니다. 아약스를 통해 쉽게 호출하고 필요한 값을 검색 할 수 있습니다. 당신은 서블릿을 사용하고있다. GSON 라이브러리는 객체를 JSON으로 변환 할 때 유용 할 것이다. 그러나 위도, 경도 및 이름이 포함 된 데이터베이스 테이블이 있어야합니다.

어쩌면이 코드는 위해 jQuery를 사용하여 선호 javascript.I에서이를 검색 할 때

  Gson gson = new Gson(); 
      java.sql.Connection con = new DBConn().getConnection(); //establish the database connection you use 

      String getquery = "SELECT * from markers"; 

      ResultSet res = DBHandle.getData(con, getquery); 
      ArrayList<Marker> markerList; 
      markerList = new ArrayList<Marker>(); 

      while (res.next()) { 

       Marker marker=new Marker(); //model class with attributes latitude,longitude and name along with their getters and setters 
       marker.setLatitude(res.getString("latitude")); 
       marker.setLongitude(res.getString("longitude")); 
       marker.setName(res.getString("name")); 
       markerList.add(marker); 

      } 
      String JsonString = gson.toJson(markerList, ArrayList.class); 
      out.print(JsonString); 

그리고 this 당신을 도울 것이다 당신의 서블릿의 doGet() 또는의 doPost() 안에이 쓰기, 당신을 도울 것입니다.

당신은 당신이 위도, 경도가 DB에

$.getJSON("url_with_json_here", function(data){ 
    for (var i=0, len=data.length; i < len; i++) { 
    data[i].latitude; 
    console.log(data[i].name); 
    console.log(data[i].longitude); 
    console.log(data[i].latitude); 
    } 
}); 
+0

String JsonString = gson.toJson (markerList, ArrayList.class); out.print (JsonString); 이것은 json 객체를 반환합니다. 지금 어떻게 json을 읽고지도에 값을 넣을 수 있습니까 ??? – BlueShark

+0

답변을 확인하십시오. 편집했습니다. –

관련 문제