如何在谷歌地图上显示从服务器收到的纬度/经度?

时间:2014-05-01 15:54:02

标签: android google-maps gps

如何显示我在android地图上从服务器收到的纬度和经度。我实现了谷歌地图V2但不知道如何在地图上显示gps坐标。经过大量研究后我来到这里,并没有找到合理的解决方案。有人可以帮帮我吗? 到目前为止,我从服务器恢复的纬度和经度值代码。

                String lat, lon;
                double l1,l2;

                DB db = new DB(getApplicationContext());

                HashMap<String,String> gps = new HashMap<String, String>();
                gps = db.getGps();

                lat = user.get("lati");
                lon = user.get("longi");

好的当我尝试根据服务器的纬度和经度在地图上添加标记时,我的应用程序强行关闭并给出NullPointerException。

        free.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub

            String lat, lon;
            double l1,l2;

            DB db = new DB(getApplicationContext());

            HashMap<String,String> gps = new HashMap<String, String>();
            gps = db.getGps();

            lat = user.get("lati");
            lon = user.get("longi");

            l1 = Double.parseDouble(lat);
            l2 = Double.parseDouble(lon);
            map.addMarker(new MarkerOptions().position(new LatLng(l1, l2))
                     .title("My Map Title"));                   

2 个答案:

答案 0 :(得分:1)

你的地图&#34;变量可能未初始化。我添加一个这样的标记:

SupportMapFragment smf = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mMap = smf.getMap();
if ( mMap != null ) {
    LatLng newLatLong = new LatLng(dblLat, dblLong);
    mMap.addMarker(new MarkerOptions().position(newLatLong)
                  .title(name)
                  .snippet(fullStrAddr));
}

答案 1 :(得分:0)

添加这样的标记

Marker mymarker= map.addMarker(new MarkerOptions().position(new LatLng(lat, lon))
      .title("My Map Title"));

这将设置从服务器发送的纬度和经度的标记..

试试..