检查两个从属数组中是否存在两个数字 - Java
Check if two numbers exist in two dependent arrays - Java
我有两个双精度值数组,称为 lat2[] 和 lon2[]。我在那里存储了特定的纬度和经度值。我可以将这些值作为简单的双精度值获取。我的问题是如何找到数组中是否存在这两个双打(以检查简单地单击了哪个标记)。这是我到目前为止所做的,但似乎没有用:
@Override
public boolean onMarkerClick(Marker marker) {
markerLatLng = marker.getPosition();
markerLat = markerLatLng.latitude;
markerLng = markerLatLng.longitude;
for (int i = 0; i < lat2.length; i++) {
if (markerLat == lon2[i]) {
for (int j = 0; j < lon2.length; j++) {
if (markerLng == lon2[j]) {
String title = marker.getTitle();
Log.e("TAG", " " + title);
}
}
}
}
return true;
}
如果我理解了你的数据结构,你的 for 循环可能有问题。
如果将纬度和经度存储在两个数组中,我想位置 n 中的一个点由经度[n] 和纬度[n] 定义。
如果这是您存储积分的方式,那么您需要更新代码:
@Override
public boolean onMarkerClick(Marker marker) {
int markerLat = marker.getPosition().latitude;
int markerLng = marker.getPosition().longitude;
for (int i = 0; i < lat2.length; i++) {
if (markerLat == lat2[i] && markerLng == lon2[j]) {
String title = marker.getTitle();
Log.e("TAG", " " + title);
}
}
return true;
}
请不要使用全局变量。我编辑了您的代码以定义方法本地的 markerLat 和 markerLng(我不知道 int 是否是正确的类型)。
从 lat2、log2 数组创建一个列表,例如 ArrayList,并检查数字是否包含如下内容:
List lat = new ArrayList(lat2);
List lon = new ArrayList(lon2);
if (lat.contains(markerLat) && lon.contains(markerLng)){
String title = marker.getTitle();
Log.e("TAG", " " + title);
}
我有两个双精度值数组,称为 lat2[] 和 lon2[]。我在那里存储了特定的纬度和经度值。我可以将这些值作为简单的双精度值获取。我的问题是如何找到数组中是否存在这两个双打(以检查简单地单击了哪个标记)。这是我到目前为止所做的,但似乎没有用:
@Override
public boolean onMarkerClick(Marker marker) {
markerLatLng = marker.getPosition();
markerLat = markerLatLng.latitude;
markerLng = markerLatLng.longitude;
for (int i = 0; i < lat2.length; i++) {
if (markerLat == lon2[i]) {
for (int j = 0; j < lon2.length; j++) {
if (markerLng == lon2[j]) {
String title = marker.getTitle();
Log.e("TAG", " " + title);
}
}
}
}
return true;
}
如果我理解了你的数据结构,你的 for 循环可能有问题。
如果将纬度和经度存储在两个数组中,我想位置 n 中的一个点由经度[n] 和纬度[n] 定义。
如果这是您存储积分的方式,那么您需要更新代码:
@Override
public boolean onMarkerClick(Marker marker) {
int markerLat = marker.getPosition().latitude;
int markerLng = marker.getPosition().longitude;
for (int i = 0; i < lat2.length; i++) {
if (markerLat == lat2[i] && markerLng == lon2[j]) {
String title = marker.getTitle();
Log.e("TAG", " " + title);
}
}
return true;
}
请不要使用全局变量。我编辑了您的代码以定义方法本地的 markerLat 和 markerLng(我不知道 int 是否是正确的类型)。
从 lat2、log2 数组创建一个列表,例如 ArrayList,并检查数字是否包含如下内容:
List lat = new ArrayList(lat2);
List lon = new ArrayList(lon2);
if (lat.contains(markerLat) && lon.contains(markerLng)){
String title = marker.getTitle();
Log.e("TAG", " " + title);
}