質問するログイン新規登録

質問編集履歴

1

コード追記

2018/03/26 14:41

投稿

syntax
syntax

スコア7

title CHANGED
File without changes
body CHANGED
@@ -13,4 +13,75 @@
13
13
  macOS High Sierra ver 10.13.3
14
14
 
15
15
  apiのアクセス数は制限を越えておりません。
16
- google api のconsole特にエラーは出ておりません。
16
+ google api のconsole特にエラーは出ておりません。
17
+
18
+ ▼view.html.erb
19
+ ```
20
+ <script async defer
21
+ src="//maps.googleapis.com/maps/api/js?key=apikey&libraries=geometry" type="text/javascript">
22
+ </script>
23
+
24
+ <div id="map" >
25
+ </div>
26
+ ```
27
+
28
+
29
+ ▼jsコード
30
+ ```ここに言語を入力
31
+ //home表示で現在地を取得
32
+ var url=location.href;
33
+ if (url=="https://www.fouru.site/home") {
34
+ get_current_location()
35
+ }
36
+
37
+
38
+ function get_current_location(){
39
+ if(navigator.geolocation){
40
+ navigator.geolocation.getCurrentPosition(
41
+ // success callback
42
+ function(position) {
43
+ var latitude = position.coords.latitude
44
+ var longitude = position.coords.longitude
45
+ $(".currentLocation").val("現在地再取得");
46
+ $("#longitude").val(longitude);
47
+ $("#latitude").val(latitude);
48
+ var currentPos ={lat: latitude, lng: longitude };
49
+ var map = new google.maps.Map(document.getElementById('map'), {
50
+ zoom: 15,
51
+ center: currentPos
52
+ });
53
+ var transitLayer = new google.maps.TransitLayer();
54
+ transitLayer.setMap(map);
55
+ var marker = new google.maps.Marker({
56
+ position:currentPos,
57
+ map: map
58
+ });
59
+ display_radius(map,currentPos)
60
+ marker.addListener('click', function() {
61
+ infowindow.open(map, marker);
62
+ });
63
+ },
64
+ // error callback
65
+ function(error) {
66
+ switch(error.code) {
67
+ case 1: //PERMISSION_DENIED
68
+ alert("位置情報の利用が許可されていません");
69
+ break;
70
+ case 2: //POSITION_UNAVAILABLE
71
+ alert("現在位置が取得できませんでした");
72
+ break;
73
+ case 3: //TIMEOUT
74
+ alert("タイムアウトになりました");
75
+ break;
76
+ default:
77
+ alert("その他のエラー(エラーコード:"+error.code+")");
78
+ break;
79
+ }
80
+ }
81
+ )
82
+ }else{
83
+ message = 'ご使用中のブラウザは現在地検索に対応されておりません。'
84
+ Alert.set('warning', message)
85
+ };
86
+ }
87
+ ```