回答編集履歴
5
修正 ちょい修正
answer
CHANGED
@@ -192,7 +192,7 @@
|
|
192
192
|
if(arrayDataSearch(place)){//placeをjasonの中から探す
|
193
193
|
var newPlace = arrayDataSearch(place);//newplaceに代入
|
194
194
|
console.log(newPlace);
|
195
|
-
moveMap(newPlace,15);//newplaceの場所
|
195
|
+
moveMap(newPlace,15);//newplaceの場所にmapを移動 拡大 15
|
196
196
|
}else{//--検索結果がない場合
|
197
197
|
console.log(place + 'には何もありません');//ログ出力
|
198
198
|
}
|
4
修正 ちょい修正
answer
CHANGED
@@ -182,6 +182,7 @@
|
|
182
182
|
}
|
183
183
|
```
|
184
184
|
|
185
|
+
検索フォーム部分
|
185
186
|
```javascript
|
186
187
|
$(function () {
|
187
188
|
$('#searchButton').click(function (e) {
|
3
追記
answer
CHANGED
@@ -157,4 +157,45 @@
|
|
157
157
|
mapTypeId: google.maps.MapTypeId.ROADMAP
|
158
158
|
styles: styles,
|
159
159
|
};
|
160
|
+
```
|
161
|
+
|
162
|
+
---
|
163
|
+
追記
|
164
|
+
|
165
|
+
移動するだけの方がいいですね
|
166
|
+
最終的にこちらをコールしてください
|
167
|
+
```javascript
|
168
|
+
function moveMap(place,z){
|
169
|
+
var geocoder = new google.maps.Geocoder();
|
170
|
+
geocoder.geocode(
|
171
|
+
{
|
172
|
+
'address': place
|
173
|
+
},
|
174
|
+
function(results, status){
|
175
|
+
if(status==google.maps.GeocoderStatus.OK){
|
176
|
+
//処理
|
177
|
+
map.setZoom(z);
|
178
|
+
map.setCenter(results[0].geometry.location);
|
179
|
+
}
|
180
|
+
}
|
181
|
+
);
|
182
|
+
}
|
183
|
+
```
|
184
|
+
|
185
|
+
```javascript
|
186
|
+
$(function () {
|
187
|
+
$('#searchButton').click(function (e) {
|
188
|
+
e.preventDefault();
|
189
|
+
place = $('#searchPlace').val();
|
190
|
+
if(place!=''){//検索キーが空なら何もしない
|
191
|
+
if(arrayDataSearch(place)){//placeをjasonの中から探す
|
192
|
+
var newPlace = arrayDataSearch(place);//newplaceに代入
|
193
|
+
console.log(newPlace);
|
194
|
+
moveMap(newPlace,15);//newplaceの場所でmapを再描画 拡大 15
|
195
|
+
}else{//--検索結果がない場合
|
196
|
+
console.log(place + 'には何もありません');//ログ出力
|
197
|
+
}
|
198
|
+
}
|
199
|
+
});
|
200
|
+
});
|
160
201
|
```
|
2
修正 ちょい修正
answer
CHANGED
@@ -36,7 +36,7 @@
|
|
36
36
|
```
|
37
37
|
|
38
38
|
住所だけの検索だと最寄駅名とか他のキーワードを後から入れたくなるのが想定されますので、
|
39
|
-
作る配列は検索用のwordsというキーと、結果を返すreturnというキーの連想配列を作ります。
|
39
|
+
作る配列は検索用のwordsというキーと、結果(マップのセンターにしたい場所)を返すreturnというキーの連想配列を作ります。
|
40
40
|
```javascript
|
41
41
|
var searchArray = [];
|
42
42
|
$.getJSON("JSON.json", function (data) {
|
1
修正 ちょい修正
answer
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
> 検索値をJSONの住所とし、マーカーが立っている場所のみの座標を取得したく思っています。
|
4
4
|
> trueならその座標へ、falseなら移動しない or 初期表示の座標へ
|
5
5
|
|
6
|
-
ということですが、もともと地名を入れたら、座標を返すgoogle.maps.Geocoder()を使っているので、住所からキーワード検索して、`検索結果が(true)`ならば住所を指定して
|
6
|
+
ということですが、もともと地名を入れたら、座標を返すgoogle.maps.Geocoder()を使っているので、住所からキーワード検索して、`検索結果が(true)`ならば`住所を指定して再描画`、`検索結果が(false)`ならば`何もしない`。という実装になります。
|
7
7
|
|
8
8
|
|
9
9
|
まず、jsonから検索用の配列を作りますが、jsonファイルは下記のようなものと想定して話を進めます。
|