无法在用户中的 JavaScript 中更新必应映射从代码隐藏控件



我必须更新使用Web控件(https://github.com/simplovation/webmapsve)制造的UserControl,该网络是Bing MapControl v6.3。由于最近MS停止了后者,因此我们必须更新。使用WebMapsve已不再是一个选择,该回购的最后提交是2016年6月。

显然,直接对使用Bing Maps控制的整个应用程序进行重构是可取的,但也不是一个选项,该应用程序是如此广泛,这将是现在的工作太多。因此,我正在尝试在我们的UserControl内使用Bing MapControl V8。

我必须根据USERCORTROL属性在控件的生命周期发生变化时,根据USERCONTROL的属性更新地图位置。由于Bing MapControl V8由JavaScript控制,因此当属性更改时,我必须调用JavaScript函数或更新JavaScript中的值。我真的找不到一种体面的方法。我已经谷歌搜索了这个回答,直到脸上蓝色,但我无法提出一个体面的答案。

我已经尝试了

ScriptManager.RegisterStartupScript()  or ClientScript.RegisterClientScriptBlock() 

设置脚本,但是在初始化控件时似乎只能使用一次。我找不到触发脚本以更新启动时间后更新地图位置的方法。我还考虑将JS中的超时设置为一个值,但是我找不到一种方法来从属性所居住的代码范围内更新该值。在UserControl中做到这一点是什么?

在此处查看bing Maps v6.3至V8 Shim:https://github.com/rbrundritt/bingmapsv63tov8shim

这可能比尝试迁移您的代码容易。

最新更新