Google地图未按动态365中的Onchange事件更新

时间:2017-10-16 06:38:48

标签: dynamics-crm

在Dynamics 365(版本:8.2)中,我使用网络资源加载谷歌地图,然后尝试从CRM输入字段启动uri = "bolt://localhost:7687"事件的谷歌地图,但它显示错误提示消息:

  

ReferenceError:未在initMap中定义google

我通过找到iframe然后调用google map得到了解决方案。就像这样:

onchange

我需要帮助。

1 个答案:

答案 0 :(得分:0)

以下是我建议你这样做的方法:

  1. 从加载Google地图(网络资源)的脚本中,获取表单属性值(地址字段)。

  2. 每当您需要刷新地图以防任何字段更改时,只需重新加载嵌入在表单中的网络资源,它就会自动再次调用Google地图,从而导致您的新位置被设置。

  3. 您可以在更改要刷新地图的字段时调用reloadMapOnFieldChange()

    function refreshWebResource(name) {
    
        var _webResourceControl = Xrm.Page.getControl(name);
    
        if(_webResourceControl!=null && _webResourceControl!="" && _webResourceControl!=undefined)
        {
            var _src = _webResourceControl.getSrc();
            _webResourceControl.setSrc(null);
            _webResourceControl.setSrc(_src);
        }   
    }
    
    function reloadMapOnFieldChange(){
    
        refreshWebResource(<Name of your Map Web Resource>);
    }