Here api 诺基亚地图搜索管理器
我正在尝试对诺基亚地图api进行反向地理编码:Here api 诺基亚地图搜索管理器,here-api,Here Api,我正在尝试对诺基亚地图api进行反向地理编码: var searchManager = new nokia.maps.search.Manager(); var searchCallback = function (observedManager, key, value) { if (value == "finished" && observedManager.locations[0]) { alert(observedM
var searchManager = new nokia.maps.search.Manager();
var searchCallback = function (observedManager, key, value) {
if (value == "finished" && observedManager.locations[0]) {
alert(observedManager.locations[0].displayPosition);
} else {
alert("Geocoding failed.");
}
};
searchManager.addObserver("state", searchCallback);
function ricerca(){
var text = $('#search').val();
alert(text);
searchManager.search(text);
}
当我打电话时,我得到以下错误:
未捕获类型错误:无法调用未定义的方法“search”
我对javascript不是很有经验,也许这是一个愚蠢的问题,但我在这里被困了很长时间……有人知道我的错误在哪里吗?您遇到的最可能的问题是您正在设置的变量
searchManager
不在函数ricerca()的范围内
-诚然,您粘贴的代码片段不应该是这种情况,但如果您在单独的函数中定义searchManager
,它可能没有设置全局范围
i、 e.如果您有:
function setup(){
var searchManager = new nokia.maps.search.Manager();
// etc...
}
function ricerca(){
searchManager.search(text);
}
尝试将其更改为:
var searchManager;
function setup(){
searchManager = new nokia.maps.search.Manager();
// etc...
}
function ricerca(){
searchManager.search(text);
}
第二种可能是检查您使用的是最新的2.5.3版本的API,如果需要,还可以使用带有参数的附加
映射JavaScript的API
如果您使用的是publicJavaScript API,则应使用以下
标记加载库:
<script type="text/javascript" charset="UTF-8" src="http://js.api.here.com/se/2.5.3/jsl.js?with=all"></script>
语法也不同,使用了nokia.maps.search.Manager
的实例。检查您的app\u code
和app\u id
是否正确注册以使用此API
您的代码片段似乎是这两种代码的混合体,可能来自较旧版本的API
<script type="text/javascript" charset="UTF-8" src="https://js.api.here.com/ee/2.5.3/jsl.js?with=all"></script>