Java actionbar搜索小写不适用于addMarker上的代码段
我想通过搜索代码段来定位标记地理点。这段代码就是车牌号的位置。我有一个问题,我无法搜索其他车牌号Java actionbar搜索小写不适用于addMarker上的代码段,java,android,google-maps,google-maps-markers,Java,Android,Google Maps,Google Maps Markers,我想通过搜索代码段来定位标记地理点。这段代码就是车牌号的位置。我有一个问题,我无法搜索其他车牌号 public class MainActivity extends BaseActivityLocation implements NavigationView.OnNavigationItemSelectedListener, SearchView.OnQueryTextListener, SearchView.OnSuggestionListener {
public class MainActivity extends BaseActivityLocation
implements NavigationView.OnNavigationItemSelectedListener, SearchView.OnQueryTextListener,
SearchView.OnSuggestionListener {
@Override
public boolean onQueryTextSubmit(String query) {
for(Marker m : list) {
if(m.getSnippet().toLowerCase().equals(query)) {
mMapFragment.animateCamera(CameraUpdateFactory.newLatLngZoom(m.getPosition(), 9.0f));
break; // stop the loop
}
}
return false;
}
在另一个类中,我添加了一个保存标记的arraylist。它将要做的是把所有的标记放在这个列表上,稍后再检索回来
public static List<Marker> list;
public void onResponse(Call<JsonElement> call, Response<JsonElement> response) {
// success response
if (response.body().isJsonArray()) {
JsonArray objectWhichYouNeed = response.body().getAsJsonArray();
System.out.println(objectWhichYouNeed + " Object");
for (int i = 0; i < response.body().getAsJsonArray().size(); i++) {
JsonElement je = response.body().getAsJsonArray().get(i);
JsonObject jo = je.getAsJsonObject();
String plate_n = jo.get("plate_num").toString();
String plate_nString = plate_n;
plate_nString = plate_nString.replace("\"", "");
String plate_num = String.valueOf(plate_nString);
String gps_num = jo.get("gps_num").toString();
String location = jo.get("location").toString();
String date = jo.get("date").toString();
String time = jo.get("time").toString();
String lati = jo.get("lat").toString();
String latiString = lati;
latiString = latiString.replace("\"", "");
String lat = String.valueOf(latiString);
String longi = jo.get("lng").toString();
String longiString = longi;
longiString = longiString.replace("\"", "");
String lng = String.valueOf(longiString);
String engine = jo.get("engine").toString();
String remarks = jo.get("remarks").toString();
if (lat != null && !lat.equals("null")
&& (lng != null && !lng.equals("null")
|| (lat != "" && lat != "")
&& lng != "") && (lng != "")) {
Double d = Double.parseDouble(lat);
Double d2 = Double.parseDouble(lng);
MarkerOptions opts = createMarker(d, d2, plate_num);
Marker m = mMapFragment.addMarker(opts);
list.add(m);
公共静态列表;
公共void onResponse(调用、响应){
//成功响应
if(response.body().isJsonArray()){
JsonArray objectWhichYouNeed=response.body().getAsJsonArray();
System.out.println(objectWhichYouNeed+“Object”);
对于(int i=0;i
}你不应该
返回true
而不是中断
吗?不确定这是否解决了问题,但你应该记录m.getSnippet()
以查看该值是否是你键入的值请允许我尝试,但这是一个条件..对吗?嗨,cricket_007。我仍然得到m.getSnippet()的相同值/:如何获得错误?您已经有了该代码…if(m.getSnippet().toLowerCase()
Hi cricket_007,我没有收到错误,但是在for循环中,我仍然获得相同的m.getSnippet()值/:你不是应该返回true
而不是break
?不确定这是否解决了问题,但你应该记录m.getSnippet()
以查看该值是否是你键入的值请允许我尝试,但这是一个条件..对吗?嗨,cricket_007。我仍然得到m.getSnippet()的相同值/:如何获得错误?您已经有了该代码…if(m.getSnippet().toLowerCase()
Hi cricket\u 007,我没有收到错误,但是在for循环中,我仍然获得相同的m.getSnippet()值: