質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

0回答

454閲覧

Web上で取得した緯度経度の値をサーバへ送りたい。

kaki.k

総合スコア19

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2019/06/23 13:01

大学院生、javascript初心者です。
ubuntuを使っています。

Web上でマップの任意の地点をクリックし、緯度経度をサーバ側へ送り処理を行いたいというのが自分の目的です。

https://qiita.com/SOJO/items/d43a28a6fe27de3cc85c

こちらの記事を参考にさせていただき、任意の地点をクリックして緯度経度の取得までのコードの書き方を学ぶことができました。

サーバへの値の受け渡しには、教授からの指導のもと、以下のようなコードを使うことでできると知りました。(チャットを行った時のメッセージの受け渡しのコードで、変数がおかしいかもしれません。)

javascript

1$(() => { 2 const ws = new WebSocket("ws://localhost:8081/", ["test"]); 3 ws.onopen = () => { 4 ws.onmessage = (message) => { 5 //サーバから受信 6 $('<div>', { 7 class: 'alert alert-primary', 8 role: 'alert', 9 text: message.data 10 }).prependTo($('#main')); 11 }; 12 13 $('#chat-form').on('submit', () => { 14 //サーバへ送信 15 ws.send($('#chat-text').val()); 16 $('#chat-text').val(""); 17 return false; 18 }); 19 } 20 });

これらを組み合わせてgooglemap上でクリックした時の緯度経度の値をサーバへ送りたいのですが、行き詰っています。

参考にさせて頂いたサイトのhtml上でのidの書き方が大事かなと考え、見様見真似でコードを書いてみたり、ボタンを増やしてクリックした際にサーバに送るようにしてみたりといろいろ試して見ましたが、うまく行きませんでした。

アドバイスや参考にできそうなサイトがあれば、ぜひ頂きたいです。
よろしくお願いします。

以下サーバ側の自分で現在書いたコードも載せます。
(今回はlatだけを受け取り、端末で表示することを目指しています。)

javascript

1const http = require('http'), 2 ws = require('ws'), 3 fs = require('fs'), 4 path = require('path'), 5 filename = path.join(__dirname, 'get_latlon.html'); 6 7const wss = new ws.Server({ port: 8081 }); 8 9wss.on('connection', (client) => { 10 client.on('lat', (lat_lng) => { 11 console.log('lat: %s', lat_lng); 12 }); 13 client.send('Hello WebSocket World from server!'); 14}); 15 16fs.readFile(filename, 'binary', (err, filecontent) => { 17 http.createServer((request, response) => { 18 if (err) { 19 response.writeHead(404, { 'Content-Type': 'text/plain' }); 20 response.write("404 Not Found\n"); 21 response.end(); 22 } else { 23 const header = { 24 'Access-Control-Allow-Origin': '*', 25 'Pragma': 'no-cache', 26 'Cache-Control': 'no-cache' 27 } 28 response.writeHead(200, header); 29 response.write(filecontent, 'binary'); 30 response.end(); 31 } 32 }).listen(8080); 33});

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2019/06/23 13:04

WebSocketを経由させることは必須なのでしょうか?(リアルタイム性を求めるのでないなら、HTTP経由のほうがいろいろやりやすいかと思います)
kaki.k

2019/06/23 13:21

緯度経度を入手したあとにサーバ上でPythonを使った処理を行おうと思っています。 また、そのPythonもgooglemapapiでいろいろやるため処理が結局かかるため、教授からはサーバを立てたほうがいいと言われました。 (Pythonとjavascriptの連携については一応できると聞いたのでとりあえず現在の問題に取り組んでいます)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問