質問編集履歴

1

コード追記

2018/03/26 14:41

投稿

syntax
syntax

スコア7

test CHANGED
File without changes
test CHANGED
@@ -29,3 +29,145 @@
29
29
  apiのアクセス数は制限を越えておりません。
30
30
 
31
31
  google api のconsole特にエラーは出ておりません。
32
+
33
+
34
+
35
+ ▼view.html.erb
36
+
37
+ ```
38
+
39
+ <script async defer
40
+
41
+ src="//maps.googleapis.com/maps/api/js?key=apikey&libraries=geometry" type="text/javascript">
42
+
43
+ </script>
44
+
45
+
46
+
47
+ <div id="map" >
48
+
49
+ </div>
50
+
51
+ ```
52
+
53
+
54
+
55
+
56
+
57
+ ▼jsコード
58
+
59
+ ```ここに言語を入力
60
+
61
+ //home表示で現在地を取得
62
+
63
+ var url=location.href;
64
+
65
+ if (url=="https://www.fouru.site/home") {
66
+
67
+ get_current_location()
68
+
69
+ }
70
+
71
+
72
+
73
+
74
+
75
+ function get_current_location(){
76
+
77
+ if(navigator.geolocation){
78
+
79
+ navigator.geolocation.getCurrentPosition(
80
+
81
+ // success callback
82
+
83
+ function(position) {
84
+
85
+ var latitude = position.coords.latitude
86
+
87
+ var longitude = position.coords.longitude
88
+
89
+ $(".currentLocation").val("現在地再取得");
90
+
91
+ $("#longitude").val(longitude);
92
+
93
+ $("#latitude").val(latitude);
94
+
95
+ var currentPos ={lat: latitude, lng: longitude };
96
+
97
+ var map = new google.maps.Map(document.getElementById('map'), {
98
+
99
+ zoom: 15,
100
+
101
+ center: currentPos
102
+
103
+ });
104
+
105
+ var transitLayer = new google.maps.TransitLayer();
106
+
107
+ transitLayer.setMap(map);
108
+
109
+ var marker = new google.maps.Marker({
110
+
111
+ position:currentPos,
112
+
113
+ map: map
114
+
115
+ });
116
+
117
+ display_radius(map,currentPos)
118
+
119
+ marker.addListener('click', function() {
120
+
121
+ infowindow.open(map, marker);
122
+
123
+ });
124
+
125
+ },
126
+
127
+ // error callback
128
+
129
+ function(error) {
130
+
131
+ switch(error.code) {
132
+
133
+ case 1: //PERMISSION_DENIED
134
+
135
+ alert("位置情報の利用が許可されていません");
136
+
137
+ break;
138
+
139
+ case 2: //POSITION_UNAVAILABLE
140
+
141
+ alert("現在位置が取得できませんでした");
142
+
143
+ break;
144
+
145
+ case 3: //TIMEOUT
146
+
147
+ alert("タイムアウトになりました");
148
+
149
+ break;
150
+
151
+ default:
152
+
153
+ alert("その他のエラー(エラーコード:"+error.code+")");
154
+
155
+ break;
156
+
157
+ }
158
+
159
+ }
160
+
161
+ )
162
+
163
+ }else{
164
+
165
+ message = 'ご使用中のブラウザは現在地検索に対応されておりません。'
166
+
167
+ Alert.set('warning', message)
168
+
169
+ };
170
+
171
+ }
172
+
173
+ ```