我想在for循环中从这些lat long recving中绘制googlemap?

时间:2016-08-01 07:00:09

标签: google-maps google-maps-api-3

for (int j = 0; j < msgObject.length(); j++) {

    JSONObject d = msgObject.getJSONObject(j);


    Startlongitude = d.getString("SfltLogitude");
    Startlattitude = d.getString("Sfltlattitude");
    Endlongitude = d.getString("EfltLogitude");
    Endlattitude = d.getString("Efltlattitude");
    Eat = Double.parseDouble(Endlattitude);
    Elot = Double.parseDouble(Endlongitude);

    lat = Double.parseDouble(Startlattitude);
    lon = Double.parseDouble(Startlongitude);
    latlon = new LatLng(lat, lon);
    latlon2 = new LatLng(Eat, Elot);
}
break;

这些是lat我从服务器上回来,已经解析为double ..但现在我不知道如何绘制谷歌地图?

1 个答案:

答案 0 :(得分:0)

您需要添加一个名为map的div,然后在文档加载时调用initMap方法。

如果您在加载页面时没有数据,可以将json for循环移动到另一种方法。

function initMap() {
        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 4,
          center: myLatLng
        });


for(int j=0;j < *array length*; j++)

               JSONObject d=msgObject.getJSONObject(j);


               Startlongitude=d.getString("SfltLogitude");
               Startlattitude=d.getString("Sfltlattitude");
               Endlongitude = d.getString("EfltLogitude");
               Endlattitude = d.getString("Efltlattitude");
               Elat=Double.parseDouble(Endlattitude);
               Elot=Double.parseDouble(Endlongitude);

               lat=Double.parseDouble(Startlattitude);
              lon=Double.parseDouble(Startlongitude);


         var startLatLng = {lat: lat, lng: lon};
         var endLatLng = {lat: Elat, lng: Elot};

         var startmarker = new google.maps.Marker({
            position: startLatLng,
            map: map,
            title: 'Start Marker'+j
         });

         var endmarker = new google.maps.Marker({
            position: endLatLng,
            map: map,
            title: 'End Marker'+j
         });
      }
}