【高德地图POI踩坑】AMap.PlaceSearch无法使用
好家伙我一时间不知道是我版本问题还是这文档问题
·
先说结论:版本是1.4.15,如果你是根据高德地图开发文档使用的
// JSAPI 2.0 输入提示插件名称由 AMap.Autocomplete 变更为 AMap.AutoComplete 啦!
AMap.plugin('AMap.AutoComplete', function(){
var autoOptions = {
//city 限定城市,默认全国
city: '全国'
};
// 实例化AutoComplete
var autoComplete= new AMap.AutoComplete(autoOptions);
// 根据关键字进行搜索
autoComplete.search(keyword, function(status, result) {
// 搜索成功时,result即是对应的匹配数据
console.log(result);
})
})
或者使用的
var placeSearch = new AMap.PlaceSearch({
// city 指定搜索所在城市,支持传入格式有:城市名、citycode和adcode
city: '010'
});
placeSearch.search('北京大学', function (status, result) {
// 查询成功时,result即对应匹配的POI信息
});
然后报错的,可以试试改成
AMap.service('AMap.PlaceSearch', function () {
var placeSearch = new AMap.PlaceSearch({
// city 指定搜索所在城市,支持传入格式有:城市名、citycode和adcode
city: '010',
});
placeSearch.search('北京大学', function (status, result) {
// 查询成功时,result即对应匹配的POI信息
});
});
坑爹的经过:
最近项目上有一个需求,需要搜索地名然后在地图上打点,使用了高德地图,但是这个POI搜索一直用不了,根本没有反应,我猜想了很多原因,甚至我把我的代码复制下来放到高德地图示例上运行居然都能成功,给我整不会了,于是开始各种姿势百度,最后让我找到一个博主,原文是这么写的:
调用高德地图搜索附近位置时,常常碰到这样的问题:amap.placesearch is not a constructor
原因是: new AMap.PlaceSearch 时外层没有引入红色的方法
AMap.service('AMap.PlaceSearch',function(){
});
我定睛一看,居然是AMap.service!然鹅高德地图的开发文档原文为AMap.plugin,好家伙我一时间不知道是我版本问题还是这文档问题,我赶紧去试了一下,成功了!我裂开了
更多推荐
已为社区贡献2条内容
所有评论(0)