1
私はgoogleマップと同じような角度の何かをしようとしています。だから私は背景画像/マップを持っていて、私はマウスのクリックした地図の代わりにオブジェクト/コンポーネントを作成したいと思います。クリックしたイベントの代わりにコンポーネントを作成する
今はx/y値を取得しています。しかし、私はクリックイベントの後に何をすべきか分かりません。
getCoordinates(event): Coordinates {
let offsetLeft = document.getElementById("drawing").offsetWidth;
let offsetTop = document.getElementById("drawing").offsetHeight;
let x = event.pageX - (document.getElementById("drawing").offsetLeft);
let y = event.pageY - (document.getElementById("drawing").offsetTop);
console.log("zoom " + this.zoom);
console.log("x " + x/this.zoom);
console.log("y " + y/this.zoom);
console.log("element " + offsetLeft);
console.log("element " + offsetTop);
return new Coordinates(x,y);
}
理想的には、ユーザーがフォームをクリックして埋め込む場所に小さなポップアップを生成したいと考えています。
Angular2でgetElementByIdのようなJavascriptを使用するのは良い方法ですか? – RGS
正確な内容がわかりません。一般的に、または何らかの形でこの質問に関連していますか? TypescriptとAngularバインディングはJSに変換されるので、JSを避けることはできません。 TypeScriptではなくJSを意味しますか、またはjQueryのようなJSライブラリを使用していますか? –
はい。つまり、Angular2でJavaScriptを使用する代わりに、ElementRef、ViewChildなどのAngular2でTypeScriptを使用できます。私の同僚たちは、Angular2でのJavaScriptの使い方はquerySelectorAllのようにしないようにしています。あなたはあなたの答えにdocument.getElementByIdを使用しました。それは私が疑問に尋ねた理由です。 – RGS