いつもお世話になっております。
javaの変数をJavascript側に渡す方法で質問があります。
※使用しているフレームワークはspringframeworkです
Jsonconver.classで取得したjsonvalue(json値格納変数)をmap.js
側に渡して、map.js上でjsonvalueを使用できるようにしたいのですが
どうすれば渡すことができるでしょうか?
以上、宜しくお願いします
Java
//Jsonconver.class @Controller @EnableAutoConfiguration public class Jsonconver { @Autowired //リポジトリを紐づけます NewaccountRepository repository; @Autowired //リポジトリを紐づけます DataAccessRepository dataAccessRepository; @Autowired ObjectMapper objectMapper; @RequestMapping(value="/login") @ResponseBody public String home(){ //json値格納変数※jsonvalueをJavascript側に渡す用 String jsonvalue; //全件取得します Iterable<Newaccount> list = repository.findAll(); // 取得した内容を出力します for(Newaccount newaccount: list){ try { //jsonvalueをJavascript側に渡します jsonvalue = objectMapper.writeValueAsString(newaccount); return jsonvalue; }catch (JsonProcessingException e) { e.printStackTrace(); } } return null; }
javascript
//map.js var getMap = (function() { function codeAddress(address) { // google.maps.Geocoder()コンストラクタのインスタンスを生成 var geocoder = new google.maps.Geocoder(); // 地図表示に関するオプション var mapOptions = { zoom: 18, mapTypeId: google.maps.MapTypeId.ROADMAP, // マウスホイールによるズーム操作を無効 scrollwheel: false }; // 地図を表示させるインスタンスを生成 var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions); // geocoder.geocode()メソッドを実行 geocoder.geocode( { 'address': address}, function(results, status) { // ジオコーディングが成功した場合 if (status == google.maps.GeocoderStatus.OK) { // google.maps.Map()コンストラクタに定義されているsetCenter()メソッドで // 変換した緯度・経度情報を地図の中心に表示 map.setCenter(results[0].geometry.location); // 地図上に目印となるマーカーを設定います。 // google.maps.Marker()コンストラクタにマーカーを設置するMapオブジェクトと // 変換した緯度・経度情報を渡してインスタンスを生成 // →マーカー詳細 var marker = new google.maps.Marker({ map: map, position: results[0].geometry.location }); // ジオコーディングが成功しなかった場合 } else { console.log('Geocode was not successful for the following reason: ' + status); } }); } return { getAddress: function() { // ボタンに指定したid要素を取得 var button = document.getElementById("button"); // ボタンが押された時の処理 button.onclick = function() { // フォームに入力された住所情報を取得 var address = document.getElementById("address").value; // 取得した住所を引数に指定してcodeAddress()関数を実行 codeAddress(address); } } }; })(); getMap.getAddress();
まだ回答がついていません
会員登録して回答してみよう