質問編集履歴

3 修正

ssk

ssk score 288

2017/03/29 18:21  投稿

javascriptでオブジェクトにデータを格納
```javascript
///////////////////////////////////////////////////////////////////////
// 変数設定
///////////////////////////////////////////////////////////////////////
var Yucho = {
   map:{}
};
///////////////////////////////////////////////////////////////////////
// 初期化
///////////////////////////////////////////////////////////////////////
Yucho.initMap = function(){
   
   // googleMaps 初期設定
   Yucho.gMapInit();
   
   // googleMaps アイドル設定
   Yucho.gMapSetIdle();
   
};
Yucho.gMapInit = function(){
   if( navigator.geolocation )
   {
       // 現在地を取得
       navigator.geolocation.getCurrentPosition(
           // [第1引数] 取得に成功した場合の関数
           function( position )
           {
               // 取得したデータの整理
               var data = position.coords ;
               // データの整理
               var lat = data.latitude ;
               var lng = data.longitude ;
               
               Yucho.map = new google.maps.Map(document.getElementById('map'), {
                   center: {
                       lat:lat,
                       lng:lng
                   },
                       zoom: Yucho.defZoom,
                       minZoom: Yucho.defminZoom
                   });
           },
```
`` Yucho.map = new google.maps.Map(document.getElementById('map')``
の``Yucho.map``を
```javascript
var Yucho = {
   map:{}
};
```
に格納したいのですが、できません。。。
どこが間違っていますか?
よろしくお願いいたします。
#####追記
エラーはでていないのですが、
``console.log(Yucho.map);``としても、``Object {}``となります。
```javascript
///////////////////////////////////////////////////////////////////////
// googleMaps アイドル設定
///////////////////////////////////////////////////////////////////////
Yucho.gMapSetIdle = function(){
   console.log(Yucho.map);
   google.maps.event.addListener(Yucho.map, 'idle', function(){
       Yucho.refleshMap();
   });
};
```
正常に取得できている場合は以下が``Yucho.map``に入っています。
```javascript
//コンソール内容
Ag {gm_bindings_: Object, __gm: eg, gm_accessors_: Object, center: _.D, zoom: 10…}
```
######正常にデータ格納ができている場合のコード
```javascript
Yucho.gMapInit = function(){
       Yucho.map = new google.maps.Map(document.getElementById('map'), {
       center: {
           lat: Yucho.defLat,
           lng: Yucho.defLng
       },
           zoom: Yucho.defZoom,
           minZoom: Yucho.defminZoom
       });
};
```
######データ格納ができていない場合のコード
######データ格納ができていない場合のコード(現在地が取得できる場合)
```javascript
Yucho.gMapInit = function(){
   if( navigator.geolocation )
   {
       // 現在地を取得
       navigator.geolocation.getCurrentPosition(
           // [第1引数] 取得に成功した場合の関数
           function( position )
           {
               // 取得したデータの整理
               var data = position.coords ;
               // データの整理
               var lat = data.latitude ;
               var lng = data.longitude ;
               
               Yucho.map = new google.maps.Map(document.getElementById('map'), {
                   center: {
                       lat:lat,
                       lng:lng
                   },
                       zoom: Yucho.defZoom,
                       minZoom: Yucho.defminZoom
                   });
               
           },
           // [第2引数] 取得に失敗した場合の関数
           function( error )
           {
               // エラーコード(error.code)の番号
               // 0:UNKNOWN_ERROR               原因不明のエラー
               // 1:PERMISSION_DENIED           利用者が位置情報の取得を許可しなかった
               // 2:POSITION_UNAVAILABLE       電波状況などで位置情報が取得できなかった
               // 3:TIMEOUT                   位置情報の取得に時間がかかり過ぎた…
               // エラー番号に対応したメッセージ
               var errorInfo = [
                   "原因不明のエラーが発生しました…。" ,
                   "位置情報の取得が許可されませんでした…。" ,
                   "電波状況などで位置情報が取得できませんでした…。" ,
                   "位置情報の取得に時間がかかり過ぎてタイムアウトしました…。"
               ] ;
               // エラー番号
               var errorNo = error.code ;
               var errorMessage = errorInfo[ errorNo ] ;
               
               alert( errorMessage ) ;
           },
           // [第3引数] オプション
           {
               "enableHighAccuracy": false,
               "timeout": 8000,
               "maximumAge": 2000,
           }
       );
   }else{
       //現在地が取得できなかったらデフォルト表示
       Yucho.map = new google.maps.Map(document.getElementById('map'), {
       center: {
           lat: Yucho.defLat,
           lng: Yucho.defLng
       },
           zoom: Yucho.defZoom,
           minZoom: Yucho.defminZoom
       });
   }
};
```
  • JavaScript

    31035 questions

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

2 追記

ssk

ssk score 288

2017/03/29 18:15  投稿

javascriptでオブジェクトにデータを格納
```javascript
///////////////////////////////////////////////////////////////////////
// 変数設定
///////////////////////////////////////////////////////////////////////
var Yucho = {
   map:{}
};
///////////////////////////////////////////////////////////////////////
// 初期化
///////////////////////////////////////////////////////////////////////
Yucho.initMap = function(){
   
   // googleMaps 初期設定
   Yucho.gMapInit();
   
   // googleMaps アイドル設定
   Yucho.gMapSetIdle();
   
};
Yucho.gMapInit = function(){
   if( navigator.geolocation )
   {
       // 現在地を取得
       navigator.geolocation.getCurrentPosition(
           // [第1引数] 取得に成功した場合の関数
           function( position )
           {
               // 取得したデータの整理
               var data = position.coords ;
               // データの整理
               var lat = data.latitude ;
               var lng = data.longitude ;
               
               Yucho.map = new google.maps.Map(document.getElementById('map'), {
                   center: {
                       lat:lat,
                       lng:lng
                   },
                       zoom: Yucho.defZoom,
                       minZoom: Yucho.defminZoom
                   });
           },
```
`` Yucho.map = new google.maps.Map(document.getElementById('map')``
の``Yucho.map``を
```javascript
var Yucho = {
   map:{}
};
```
に格納したいのですが、できません。。。
どこが間違っていますか?
よろしくお願いいたします。
よろしくお願いいたします。
#####追記
エラーはでていないのですが、
``console.log(Yucho.map);``としても、``Object {}``となります。
```javascript
///////////////////////////////////////////////////////////////////////
// googleMaps アイドル設定
///////////////////////////////////////////////////////////////////////
Yucho.gMapSetIdle = function(){
   console.log(Yucho.map);
   google.maps.event.addListener(Yucho.map, 'idle', function(){
       Yucho.refleshMap();
   });
};
```
正常に取得できている場合は以下が``Yucho.map``に入っています。
```javascript
//コンソール内容
Ag {gm_bindings_: Object, __gm: eg, gm_accessors_: Object, center: _.D, zoom: 10…}
```
######正常にデータ格納ができている場合のコード
```javascript
Yucho.gMapInit = function(){
       Yucho.map = new google.maps.Map(document.getElementById('map'), {
       center: {
           lat: Yucho.defLat,
           lng: Yucho.defLng
       },
           zoom: Yucho.defZoom,
           minZoom: Yucho.defminZoom
       });
};
```
######データ格納ができていない場合のコード
```javascript
Yucho.gMapInit = function(){
   if( navigator.geolocation )
   {
       // 現在地を取得
       navigator.geolocation.getCurrentPosition(
           // [第1引数] 取得に成功した場合の関数
           function( position )
           {
               // 取得したデータの整理
               var data = position.coords ;
               // データの整理
               var lat = data.latitude ;
               var lng = data.longitude ;
               
               Yucho.map = new google.maps.Map(document.getElementById('map'), {
                   center: {
                       lat:lat,
                       lng:lng
                   },
                       zoom: Yucho.defZoom,
                       minZoom: Yucho.defminZoom
                   });
               
           },
           // [第2引数] 取得に失敗した場合の関数
           function( error )
           {
               // エラーコード(error.code)の番号
               // 0:UNKNOWN_ERROR               原因不明のエラー
               // 1:PERMISSION_DENIED           利用者が位置情報の取得を許可しなかった
               // 2:POSITION_UNAVAILABLE       電波状況などで位置情報が取得できなかった
               // 3:TIMEOUT                   位置情報の取得に時間がかかり過ぎた…
               // エラー番号に対応したメッセージ
               var errorInfo = [
                   "原因不明のエラーが発生しました…。" ,
                   "位置情報の取得が許可されませんでした…。" ,
                   "電波状況などで位置情報が取得できませんでした…。" ,
                   "位置情報の取得に時間がかかり過ぎてタイムアウトしました…。"
               ] ;
               // エラー番号
               var errorNo = error.code ;
               var errorMessage = errorInfo[ errorNo ] ;
               
               alert( errorMessage ) ;
           },
           // [第3引数] オプション
           {
               "enableHighAccuracy": false,
               "timeout": 8000,
               "maximumAge": 2000,
           }
       );
   }else{
       //現在地が取得できなかったらデフォルト表示
       Yucho.map = new google.maps.Map(document.getElementById('map'), {
       center: {
           lat: Yucho.defLat,
           lng: Yucho.defLng
       },
           zoom: Yucho.defZoom,
           minZoom: Yucho.defminZoom
       });
   }
};
```
  • JavaScript

    31035 questions

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

1 追記

ssk

ssk score 288

2017/03/29 18:03  投稿

javascriptでオブジェクトにデータを格納
```javascript
///////////////////////////////////////////////////////////////////////
// 変数設定
///////////////////////////////////////////////////////////////////////
var Yucho = {
   map:{}
};
///////////////////////////////////////////////////////////////////////
// 初期化
///////////////////////////////////////////////////////////////////////
Yucho.initMap = function(){
   
   // googleMaps 初期設定
   Yucho.gMapInit();
   
   // googleMaps アイドル設定
   Yucho.gMapSetIdle();
   
};
Yucho.gMapInit = function(){
   if( navigator.geolocation )
   {
       // 現在地を取得
       navigator.geolocation.getCurrentPosition(
           // [第1引数] 取得に成功した場合の関数
           function( position )
           {
               // 取得したデータの整理
               var data = position.coords ;
               // データの整理
               var lat = data.latitude ;
               var lng = data.longitude ;
               
               Yucho.map = new google.maps.Map(document.getElementById('map'), {
                   center: {
                       lat:lat,
                       lng:lng
                   },
                       zoom: Yucho.defZoom,
                       minZoom: Yucho.defminZoom
                   });
           },
```
`` Yucho.map = new google.maps.Map(document.getElementById('map')``
の``Yucho.map``を
```javascript
var Yucho = {
   map:{}
};
```
に格納したいのですが、できません。。。
なぜでしょうか?
どこが間違っていますか?
よろしくお願いいたします。
  • JavaScript

    31035 questions

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る