Javascript Bing映射了V8 Web控件和CommonJS
我正在Web应用程序中使用Bing Maps V8 Web控件。我还使用早午餐管理静态资产,包括JavaScript。默认情况下,Brunch将所有非供应商JavaScript代码包装在CommonJS模块中 Microsoft的文档中说,在脚本导入URL中使用回调参数初始化控件,如下所示:Javascript Bing映射了V8 Web控件和CommonJS,javascript,bing-maps,commonjs,brunch,Javascript,Bing Maps,Commonjs,Brunch,我正在Web应用程序中使用Bing Maps V8 Web控件。我还使用早午餐管理静态资产,包括JavaScript。默认情况下,Brunch将所有非供应商JavaScript代码包装在CommonJS模块中 Microsoft的文档中说,在脚本导入URL中使用回调参数初始化控件,如下所示: <script type='text/javascript' src='http://www.bing.com/api/maps/mapcontrol?branch=release&callb
<script type='text/javascript' src='http://www.bing.com/api/maps/mapcontrol?branch=release&callback=loadMapScenario' async defer></script>
问题是我从API中得到一个错误,说回调函数无效
有更好的方法吗?web控件是否有办法以这种方式调用CommonJS包装函数?请参阅下面代码的问题:
在此行中定义了一个回调函数loadMapScenario
,但它不存在<!DOCTYPE html>
<html>
<head>
<title>autoSuggestUiWithoutMapHTML</title>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
</head>
<body>
<div id='printoutPanel'></div>
<div id='searchBoxContainer'><input type= 'text' id= 'searchBox'/></div>
<div id='myMap' style='width: 100vw; height: 100vh;'></div>
<script type='text/javascript'>
function loadMapScenario() {
Microsoft.Maps.loadModule('Microsoft.Maps.AutoSuggest', {
callback: onLoad,
errorCallback: onError,
credentials: 'Your Bing Maps Key'
});
function onLoad() {
var options = { maxResults: 5 };
var manager = new Microsoft.Maps.AutosuggestManager(options);
manager.attachAutosuggest('#searchBox', '#searchBoxContainer', selectedSuggestion);
}
function onError(message) {
document.getElementById('printoutPanel').innerHTML = message;
}
function selectedSuggestion(suggestionResult) {
document.getElementById('printoutPanel').innerHTML =
'Suggestion: ' + suggestionResult.formattedSuggestion +
'<br> Lat: ' + suggestionResult.location.latitude +
'<br> Lon: ' + suggestionResult.location.longitude;
}
}
</script>
<script type='text/javascript' src='http://www.bing.com/api/maps/mapcontrol?branch=release&callback=loadMapScenario' async defer></script>
</body>
autoSuggestUiWithoutMapHTML
函数loadMapScenario(){
Microsoft.Maps.loadModule('Microsoft.Maps.AutoSuggest'{
回调:onLoad,
errorCallback:onError,
凭据:“您的Bing地图密钥”
});
函数onLoad(){
var options={maxResults:5};
var manager=new Microsoft.Maps.AutosuggestManager(选项);
manager.attachAutosuggest(“#searchBox”、“#searchBoxContainer”、selectedsuggest);
}
函数onError(消息){
document.getElementById('printoutPanel')。innerHTML=message;
}
功能选择建议(建议结果){
document.getElementById('printoutPanel').innerHTML=
“建议:”+suggestionResult.formattedSuggestion+
“
纬度:”+suggestionResult.location.latitude+
“
Lon:”+suggestionResult.location.longitude;
}
}
请参见下面的代码问题:
在此行中定义了一个回调函数loadMapScenario
,但它不存在<!DOCTYPE html>
<html>
<head>
<title>autoSuggestUiWithoutMapHTML</title>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
</head>
<body>
<div id='printoutPanel'></div>
<div id='searchBoxContainer'><input type= 'text' id= 'searchBox'/></div>
<div id='myMap' style='width: 100vw; height: 100vh;'></div>
<script type='text/javascript'>
function loadMapScenario() {
Microsoft.Maps.loadModule('Microsoft.Maps.AutoSuggest', {
callback: onLoad,
errorCallback: onError,
credentials: 'Your Bing Maps Key'
});
function onLoad() {
var options = { maxResults: 5 };
var manager = new Microsoft.Maps.AutosuggestManager(options);
manager.attachAutosuggest('#searchBox', '#searchBoxContainer', selectedSuggestion);
}
function onError(message) {
document.getElementById('printoutPanel').innerHTML = message;
}
function selectedSuggestion(suggestionResult) {
document.getElementById('printoutPanel').innerHTML =
'Suggestion: ' + suggestionResult.formattedSuggestion +
'<br> Lat: ' + suggestionResult.location.latitude +
'<br> Lon: ' + suggestionResult.location.longitude;
}
}
</script>
<script type='text/javascript' src='http://www.bing.com/api/maps/mapcontrol?branch=release&callback=loadMapScenario' async defer></script>
</body>
autoSuggestUiWithoutMapHTML
函数loadMapScenario(){
Microsoft.Maps.loadModule('Microsoft.Maps.AutoSuggest'{
回调:onLoad,
errorCallback:onError,
凭据:“您的Bing地图密钥”
});
函数onLoad(){
var options={maxResults:5};
var manager=new Microsoft.Maps.AutosuggestManager(选项);
manager.attachAutosuggest(“#searchBox”、“#searchBoxContainer”、selectedsuggest);
}
函数onError(消息){
document.getElementById('printoutPanel')。innerHTML=message;
}
功能选择建议(建议结果){
document.getElementById('printoutPanel').innerHTML=
“建议:”+suggestionResult.formattedSuggestion+
“
纬度:”+suggestionResult.location.latitude+
“
Lon:”+suggestionResult.location.longitude;
}
}
正如您所看到的,我实际上使用的正是这个示例代码。问题是我试图将JS代码提取到一个单独的文件中,而不是用
将其嵌入HTML中。实际上,我已经通过返回谷歌地图“修复”了这个问题。Bing并没有提供我所需要的所有信息——他们的数据中没有填写邮政编码字段。我发现一篇论坛帖子说,他们并没有优先考虑进行完整的数据集成。美好的保持优雅,微软。正如你所看到的,我实际上使用的正是这个示例代码。问题是我试图将JS代码提取到一个单独的文件中,而不是用
将其嵌入HTML中。实际上,我已经通过返回谷歌地图“修复”了这个问题。Bing并没有提供我所需要的所有信息——他们的数据中没有填写邮政编码字段。我发现一篇论坛帖子说,他们并没有优先考虑进行完整的数据集成。美好的保持优雅,微软。