自2018年10月18日起,高德开发者论坛除车机板块外,其他板块将停止发帖与维护,如您有使用问题请 提交工单 联系我们,感谢您的理解。

查看: 772|回复: 12
打印 上一主题 下一主题

[应用案例] [已解决]周边公交查询

[复制链接]
最佳答案
0 

1

主题

8

帖子

29

积分

新手上路

Rank: 1

积分
29
跳转到指定楼层
楼主
发表于 2015-8-20 10:34:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
发表帖子
API/SDK版本号: android4.2
产品: 2D地图
手机型号: 红米note
使用接口: PoiSearch.searchPOIAsyn()
本帖最后由 amap_1850297324 于 2015-8-20 10:36 编辑
  1. poiSearch = new PoiSearch(this, query);
  2. poiSearch.setBound(new SearchBound(new LatLonPoint(location.latitude, location.longitude), 2000));
  3. poiSearch.setOnPoiSearchListener(this);
  4. poiSearch.searchPOIAsyn();
复制代码
同样的一个中心点、同样的范围1000米,用JavaScript的PlaceSearch能查询出周边的公交,但Android的poiSearch就是查询不出;设定范围2000米的时候能查出来一些,请问是我用的接口不对,还是什么原因?

回复

使用道具 举报

最佳答案
8 

0

主题

19

帖子

76

积分

新手上路

Rank: 1

积分
76
沙发
发表于 2015-8-20 15:24:29 | 只看该作者
用的接口没错,lz贴出query看看以及latlng 我试试
回复 支持 反对

使用道具 举报

最佳答案
432 

5

主题

4048

帖子

8759

积分

超级版主

Rank: 8Rank: 8

积分
8759
板凳
发表于 2015-8-20 15:25:32 | 只看该作者
1、可以提供下搜索参数(坐标点、关键字、搜索类型、半径等)我查看下。2、js 和android接口的返回结果也给下
回复 支持 反对

使用道具 举报

最佳答案
0 

1

主题

8

帖子

29

积分

新手上路

Rank: 1

积分
29
地板
 楼主| 发表于 2015-8-21 19:18:23 | 只看该作者
本帖最后由 amap_1850297324 于 2015-8-21 19:19 编辑
  1. query = new PoiSearch.Query(keyWord, "", "西安");
  2. query.setPageSize(20);
  3. query.setPageNum(1);

  4. poiSearch = new PoiSearch(this, query);
  5. poiSearch.setBound(new SearchBound(new LatLonPoint(34.31866,108.948205), 1000));
  6. poiSearch.setOnPoiSearchListener(this);
  7. poiSearch.searchPOIAsyn();
复制代码
搜索参数
坐标点:34.31866,108.948205
关键字:公交或地铁
搜索类型:为空,也尝试了下面列出的20种的几种相关的,如,交通设施服务,道路附属设施等
半径:1000

js接口的返回结果:见图
Android接口的返回结果:公交和地铁没有查询任何记录

POI搜索类型共分为以下20种:
汽车服务|汽车销售|汽车维修|摩托车服务|餐饮服务|购物服务|生活服务|体育休闲服务|医疗保健服务|住宿服务|风景名胜|商务住宅|政府机构及社会团体|科教文化服务|交通设施服务|金融保险服务|公司企业|道路附属设施|地名地址信息|公共设施

回复 支持 反对

使用道具 举报

最佳答案
0 

1

主题

8

帖子

29

积分

新手上路

Rank: 1

积分
29
5#
 楼主| 发表于 2015-8-21 19:19:17 | 只看该作者
js接口的返回结果:见图

20108827095745653.jpg (75.27 KB, 下载次数: 55)

20108827095745653.jpg

175488785605155161.jpg (63.5 KB, 下载次数: 54)

175488785605155161.jpg
回复 支持 反对

使用道具 举报

最佳答案
432 

5

主题

4048

帖子

8759

积分

超级版主

Rank: 8Rank: 8

积分
8759
6#
发表于 2015-8-24 15:59:42 | 只看该作者
amap_1850297324 发表于 2015-8-21 19:19
js接口的返回结果:见图

我试了一下,是有数据返回的呢,1、关键字:公交或地铁,这个建议放在搜索类型里,否则包含这个关键字的数据就会显示呢  2、确认下经度、纬度坐标,android SDK跟js api的坐标格式是相反的,js 输入34.31866,108.948205,android就应该是108.948205,34.31866
回复 支持 反对

使用道具 举报

最佳答案
0 

1

主题

8

帖子

29

积分

新手上路

Rank: 1

积分
29
7#
 楼主| 发表于 2015-8-25 10:16:36 | 只看该作者
根据您的建议:
1、关键字:公交或地铁,放在搜索类型里。
结果:依然查询不到数据;关键字和搜索类型都设置成公交或地铁,结果也一样。

2、中心点坐标:确认了没问题
JavaScript中心点的构造方法:
var cpoint = new AMap.LngLat(lng,lat);

Java中心点的构造方法:
new SearchBound(new LatLonPoint(lat,lng);
结果:依然查询不到数据;

3、如果使用明显的错误构造方法,即颠倒经纬度顺序:
// 类LatLonPoint在接口文档里的描述:  LatLonPoint(double lat, double lon)
new SearchBound(new LatLonPoint(lng,lat);
结果:能查询出数据,但都不是中心点附近的数据,偏差很大
回复 支持 反对

使用道具 举报

最佳答案
432 

5

主题

4048

帖子

8759

积分

超级版主

Rank: 8Rank: 8

积分
8759
8#
发表于 2015-8-25 16:28:29 | 只看该作者
amap_1850297324 发表于 2015-8-25 10:16
根据您的建议:
1、关键字:公交或地铁,放在搜索类型里。
结果:依然查询不到数据;关键字和搜索类型都设 ...

提供demo吧,这边看一下。
回复 支持 反对

使用道具 举报

最佳答案
19 

0

主题

201

帖子

798

积分

超级版主

Rank: 8Rank: 8

积分
798
9#
发表于 2015-8-25 17:26:35 | 只看该作者
amap_1850297324 发表于 2015-8-25 10:16
根据您的建议:
1、关键字:公交或地铁,放在搜索类型里。
结果:依然查询不到数据;关键字和搜索类型都设 ...

公交或地铁咋写的直接"公交或地铁"还是"公交|地铁"
回复 支持 反对

使用道具 举报

最佳答案
0 

1

主题

8

帖子

29

积分

新手上路

Rank: 1

积分
29
10#
 楼主| 发表于 2015-8-25 19:26:38 | 只看该作者
公交和地铁,是分开查的,即,查公交时,参数是"公交",查地铁时,参数是"地铁",
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|高德开发者论坛

Copyright ©2014 高德开发者论坛.All Rights Reserved |京ICP证070711号

意见反馈 常见问题 服务条款 联系我们
快速回复 返回顶部 返回列表