角度では、入力された住所に基づいて地図を動的に作成したい。私はVueJSでこれを成功させました。しかし、これは角度で、セキュリティの警告を引き起こします。動的に作成されたマップトリガ警告が角度で表示される
HTML:
<iframe
ng-src="https://maps.google.com/maps?&q={{encodeURIComponent(item.address)}}&output=embed"
allowfullscreen>
</iframe>
私は次のように作成しようとした:
app.filter('trustAsResourceUrl', ['$sce', function ($sce) {
return function (val) {
return $sce.trustAsResourceUrl(val);
};
はその後ように、それをパイプ:
すでに確立されているURLを使用しますがいない場合は動作します| trustAsResourceUrl}}
私はアドレスからURLを形成しようとしているからです。
Error: [$interpolate:noconcat] Error while interpolating: Strict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce
VueJSはとてもシンプルでしたが、このプロジェクトでは使用できません。
methods: {
getmap: function(){
setTimeout(function() {
const searchInput = document.getElementById('searchTextField');
let addr = searchInput.value;
let embed = "<div class='form-group'><label for='exampleInputPassword1'>Map Preview</label><iframe frameborder = '0' scrolling= 'no' marginheight= '0' marginwidth= '0' src= 'https://maps.google.com/maps?&q=" + encodeURIComponent(addr) + "&output=embed' > </iframe></div>";
$('.place').html(embed); }, 200)
},
これは技術的に私の質問に答えるので、私は答えとして受け入れます。ありがとうございました!しかし、私の設定に実装するのが少し難しいようです。そのURL構造のセキュリティ例外を作成する方法はありますか?もしそうなら、私はそれをもっと簡単に保つことができました。 – Auzy
詳細については、http://docs.angularjs.org/api/ng.$sceのドキュメントを参照してください。はるかに優れた選択肢があるかどうかはわかりません。 –
あなたは正しいと思います。助けてくれてありがとう! – Auzy