質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ニフティクラウドmobile backend

ニフティクラウドmobile backend (mBaaS)はニフティが提供するBaasサービスです。プッシュ通知、データストア、ファイルストア、会員管理・認証機能などのバックエンド機能をクラウドから提供しています。 Andoird/iOS/JavaScript/Unityと各種SDKに対応しています。

JavaScript

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

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

Q&A

0回答

1303閲覧

Monacaを用いて位置情報を表示し、位置情報のポイントを保存させる

mai40851

総合スコア4

ニフティクラウドmobile backend

ニフティクラウドmobile backend (mBaaS)はニフティが提供するBaasサービスです。プッシュ通知、データストア、ファイルストア、会員管理・認証機能などのバックエンド機能をクラウドから提供しています。 Andoird/iOS/JavaScript/Unityと各種SDKに対応しています。

JavaScript

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

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

0グッド

1クリップ

投稿2019/12/02 07:02

編集2019/12/02 07:07

前提・実現したいこと

https://homata.gitbooks.io/monaca_basic_course/app_map.html
以上のサイトを参考にしながらMonacaとncmbを利用した地図アプリケーションの作成を行っています。
位置情報を表示し、位置情報のポイント登録を行いたいと考えています。

発生している問題・エラーメッセージ

起動時の位置情報の表示はできるのですが、ポイントを登録する作業を行うと
以下のようなエラー文が表示されます。他のサイトなどを検索

エラーメッセージ
save_geopoint
現在位置を取得できませんでした。
{"code":3,"message":"Position retrieval timed out."}

該当のソースコード

Javascript
ソースコード

/OSMの描画時に位置情報取得に成功した場合のコールバック
var onGeoSuccess = function(position){
console.debug("onGeoSuccess()");
currentUser = new CurrentPoint();
currentUser.geopoint = position.coords; //位置情報を保存する
writemap(currentUser.geopoint.longitude,currentUser.geopoint.latitude);
};

//位置情報取得に失敗した場合のコールバック
var onGeoError = function(error){
console.log("現在位置を取得できませんでした");
console.log(error);
return error && error.code !== 3 && error.message;

};

//位置情報取得時に設定するオプション
var geoOption = {
timeout: 6000
};

function onMouseClick(evt) {
console.debug("onMouseClick()");
}

//現在地を保持するクラスを作成
function CurrentPoint(){
geopoint=null; //端末の位置情報を保持する
}

//現在地をポイントとして登録する
function save_geopoint(){
navigator.geolocation.getCurrentPosition(onSaveSuccess, onGeoError, geoOption);
console.log("save_geopoint");
}

//ポイントの登録時に位置情報取得に成功した場合のコールバック
var onSaveSuccess = function(location){
console.debug("onSaveSuccess");

navigator.notification.prompt( ' ', // メッセージ onPrompt, // 呼び出すコールバック 'ポンイントの登録', // タイトル ['登録','やめる'], // ボタンのラベル名 'ポイント名' // デフォルトのテキスト ); function onPrompt(results) { current.geopoint = location.coords; var geoPoint = new ncmb.GeoPoint(location.coords.latitude, location.coords.longitude); console.log(location.coords.latitude + ":" + location.coords.longitude); var Places = ncmb.DataStore("PlacePoints"); var point = new Places(); point.set("name",results.input1); point.set("geo", geoPoint); point.save() .then(function(){ var marker = L.marker([location.coords.latitude, location.coords.longitude]) .bindPopup("<h1>" + results.input1 + "</h1>") .addTo(map); }) .catch(function(err){// エラー処理 }); } };

試したこと

エラーメッセージで検索したところ位置情報のタイムアウトが考えられたので
https://docs.monaca.io/ja/reference/cordova_9.0/geolocation/
上記のサイトを参考にし、config.xmlファイルに
<edit-config target="NSLocationWhenInUseUsageDescription" file="*-Info.plist" mode="merge">
<string>need location access to find things nearby</string>
</edit-config>
上記のコードを入力し実行したところエラーはなくならずに詰まってしまいました。もしよろしければご教授のほどよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問