显示我当前位置中最近标记的标题Google地图v2 [英] Display title of closest marker from my current position Google Maps v2

查看:96
本文介绍了显示我当前位置中最近标记的标题Google地图v2的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我从包含TITLE,SNIPPET和LOCATION的数据库中获取数据,并尝试测试以检查当前位置之间的距离。

 列表< MyMarkerObj>如果您想要显示最近标记的标题, m = data.getMyMarkers(); 
for(int i = 0; i< m.size(); i ++){
String [] slatlng = m.get(i).getPosition()。split();
LatLng lat = new LatLng(Double.valueOf(slatlng [0]),Double.valueOf(slatlng [1]));
map.addMarker(new MarkerOptions()
.title(m.get(i).getTitle())
.snippet(m.get(i).getSnippet())
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
.position(lat)
);

float [] distance = new float [1];
Location.distanceBetween(currentlat,currentlong,Double.valueOf(slatlng [0]),Double.valueOf(slatlng [1]),distance);
Toast.makeText(getActivity(),Marker Distance:+ m.get(i).getTitle()++ distance [0],Toast.LENGTH_LONG).show();



$ div $ b $ div class =h2_lin>解决方案

这里变化不大。尝试一下......

  List< MyMarkerObj> m = data.getMyMarkers(); 
浮动心理主义者;
int pos = 0;
for(int i = 0; i< m.size(); i ++){
String [] slatlng = m.get(i).getPosition()。split();
LatLng lat = new LatLng(Double.valueOf(slatlng [0]),Double.valueOf(slatlng [1]));
map.addMarker(new MarkerOptions()
.title(m.get(i).getTitle())
.snippet(m.get(i).getSnippet())
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
.position(lat)
);

float [] distance = new float [1];
Location.distanceBetween(currentlat,currentlong,Double.valueOf(slatlng [0]),Double.valueOf(slatlng [1]),distance);
if(i == 0)mindist = distance [0];
else if(mindist> distance [0]){
mindist = distance [0];
pos = i;
}
}
Toast.makeText(getActivity(),最近标记距离:+ m.get(pos).getTitle()++ mindist,Toast.LENGTH_LONG)。显示();


I get the data from my database which contains, TITLE, SNIPPET and LOCATION and tried to test to check the distances between my currentlocation. I'm confused how to display the title of the closest marker to my position.

    List<MyMarkerObj> m = data.getMyMarkers();
                for (int i = 0; i < m.size(); i++) {
                    String[] slatlng =  m.get(i).getPosition().split(" ");
                    LatLng lat = new LatLng(Double.valueOf(slatlng[0]), Double.valueOf(slatlng[1]));
                    map.addMarker(new MarkerOptions()
                            .title(m.get(i).getTitle())
                            .snippet(m.get(i).getSnippet())
                            .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
                            .position(lat)
                            );

                    float[] distance = new float[1];
                    Location.distanceBetween(currentlat, currentlong,Double.valueOf(slatlng[0]), Double.valueOf(slatlng[1]), distance);
                    Toast.makeText(getActivity(), "Marker Distance: "+ m.get(i).getTitle() +" "+distance[0], Toast.LENGTH_LONG).show();

                }

解决方案

I made few changes here. Try it..

List<MyMarkerObj> m = data.getMyMarkers();
float mindist;
int pos=0;
            for (int i = 0; i < m.size(); i++) {
                String[] slatlng =  m.get(i).getPosition().split(" ");
                LatLng lat = new LatLng(Double.valueOf(slatlng[0]), Double.valueOf(slatlng[1]));
                map.addMarker(new MarkerOptions()
                        .title(m.get(i).getTitle())
                        .snippet(m.get(i).getSnippet())
                        .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
                        .position(lat)
                        );

                float[] distance = new float[1];
                Location.distanceBetween(currentlat, currentlong,Double.valueOf(slatlng[0]), Double.valueOf(slatlng[1]), distance);
                if(i==0) mindist=distance[0];
                else if(mindist>distance[0]) {
                   mindist=distance[0];
                   pos=i;
                 }
            }
  Toast.makeText(getActivity(), "Closest Marker Distance: "+ m.get(pos).getTitle() +" "+mindist, Toast.LENGTH_LONG).show();

这篇关于显示我当前位置中最近标记的标题Google地图v2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆