• 締切済み

javascriptで困っています。教えてください

スマホで位置情報を扱うコンテンツを作ろうとしています。 navigator.geolocation.watchPosition(update,poserror,{maximumAge: 0,enableHighAccuracy:1}); を使って作っています。 作っては、テスト、修正を繰り返しています。スマホでテストをしていたのですが、突然、スマホのGPSのアイコンが表示されなくなり、位置情報をとれなくなりました。数分前まで、位置情報がとれなくなるまでは、きちんと位置情報はとれており、地図も表示されていました。 ヘテムルのサーバー にアップしてテストしています。 修正の時に余計な部分を触ってしまったのかと思い、以前に作ってアップしていたファイルを試してみると、位置情報をうまくとれるものと、とれないものがあります。 https://developers.google.com/maps/documentation/javascript/usage?hl=ja Google Maps JavaScript API v3の使用制限に 1 日あたり最大 25,000 回まで許可されています。 とありますが、25,000回も使用していないと思うのですが、   watchPositionで位置情報をとり続けているのは1回ではないのでしょうか? google mapのAPIにアクセス数の制限とか、サーバに制限とかあるのでしょうか? 修正したものがテストできなくて困っています。教えていただければありがたいです。よろしくお願いします。

みんなの回答

  • hirotn
  • ベストアンサー率59% (147/246)
回答No.2

ウェブページのリロードなどで地図が初期化された時が25000回のカウントタイミングですので、コードを修正して、リロードするとそれが一回にカウントされるでしょう。 APIコンソールから、 https://code.google.com/apis/console/ Quotaを開くと、使用量が確認できないでしょうか。

dkong
質問者

お礼

ありがとうございます。 リロードなどで地図が初期化されたら1回なんですね。 watchPositionでとり続けているとどんどんカウントされているのかと思っていました。使用量を確認してみます。

回答No.1

Geolocationは3年ぐらい前に手を出したレベルです。 私の知恵の範囲の回答になってしまいますが、その点はご容赦ください。 > watchPositionで位置情報をとり続けているのは1回ではないのでしょうか? これは一回でしょう。あくまでもユーザーのアクセス数だと思います。 気になるのであれば、watchPositionではなく、getCurrentPosition を 使用した方が良いかもしれません。 →私は10秒おきの取得にしました > google mapのAPIにアクセス数の制限とか、サーバに制限とかあるのでしょうか? これが25000回の制限になると思うので、超えても日を改めれば動作するはずです。 > 作ってアップしていたファイルを試してみると、位置情報をうまくとれるものと、 > とれないものがあります。 これは、非常に良い解決のヒントになるのではないでしょうか。

dkong
質問者

お礼

ありがとうございます。 getCurrentPositionでも試してみます。 もう一度コードや他のファイルも調べてみます。