我在查询中遇到关键字组成问题。我需要进行一个查询,例如,在一个查询中按“spord doctor”或“doctors”或“medicine”进行搜索(&keywod="sport doctor"|"medicine"|"sport"|"doctor"。这个查询不起作用,但如何正确执行此操作)。我无法在一个查询中编写它。是否有任何解决方案如何做到这一点,因为在文档中我只看到一个示例,其中通过一个关键字或短语进行搜索。最后,我想做一个长查询,不同语言的“运动医生”在哪里。
我找到了解决方案。但它在浏览器 URL 栏中工作,而不是在应用程序中工作。我用管道“|” 作为查询中的 OR 语句:https ://maps.googleapis.com/maps/api/place/search/json?location=59.436347,24.752356&radius=34572.53586&keyword=spordiarst|sport&sensor=false&key=AIzaSyCEVB4rY2A_AEyJ5JeopxaGz4zqm47yLuY
但是如果我输入这样的内容,我的应用程序就会出错:
HttpUriRequest request = new HttpGet("https://maps.googleapis.com/maps/api/place/search/json?" +
"location=" + ((lat == 0 || lat == gpsLat) ? gpsLat : lat) + ","+ ((lon == 0 || lon == gpsLon) ? gpsLon : lon) +
"&radius=" + radius +
"&keyword=\"spordiarst\"|\"sport\"" +
"&types=establishment" +
"&sensor=false&" +
"key=" + GOOGLE_MAPS_KEY);
错误:原因:java.lang.IllegalArgumentException:索引 127 处的查询中存在非法字符:https ://maps.googleapis.com/maps/api/place/search/json?location=59.435330809999996,24.7727237&radius=1404.114013671875&keyword= ” spordiarst"|"sport"&types=建立&sensor=false&key=这是我的钥匙
如何解决?如我所见,没有空格和特定符号,但它崩溃了。似乎是由于管道“|” 或双引号\"。