0

map.js.コーヒー

jQuery ->
  getLocation = ->
    if navigator.geolocation
      navigator.geolocation.getCurrentPosition userPosition showError options
    else
      alert("Geolocation is not supported by this browser.")

  handler = Gmaps.build 'Google'
  handler.buildMap 
    provider: {}
    internal: {id: 'map'}
  , ->
    handler.panTo latlng

geolocation.js.コーヒー

userPosition = (position) ->
  latlng = new google.maps.LatLng(position.coords.latitude + "," + position.coords.longitude)
  alert(latlng)

showError = (error) ->
  switch error.code
    when error.PERMISSION_DENIED
      alert("User denied the request for Geolocation.")
    when error.POSITION_UNAVAILABLE
      alert("Location information is unavailable.")
    when error.TIMEOUT
      alert("The request to get user location timed out.")
    when error.UNKNOWN_ERROR
      alert("An unknown error occurred.")

options =
  enableHighAccuracy: false
  timeout: 5000

グローバル変数を把握していないのではないでしょうか?通話をあちこちに動かしてみましたgetLocation...

すべてを同じファイルに入れてみました...

ハンドラーを準備完了関数の上 (外側) に移動しようとjQueryしました... _ が定義されていないという別のエラーが発生しました。

alert(latlng)私はそれがその機能に当たっているかどうかを確認するためにそこに投げました...そうではありません。

新しいgmaps4rails gemを試していて、少し苦労しています。私もW3schoolsで情報をチェックしましたが、このコードはそれにかなり近いものです。

4

1 に答える 1

1

コードを理解できませんが、アイデアは次のとおりです。

handler = Gmaps.build 'Google'
handler.buildMap { internal: {id: 'map'} }, ->

  positionSuccess = (position) ->
    handler.map.centerOn
      lat: position.coords.latitude
      lng: position.coords.longitude

  positionError = ->

  navigator.geolocation.getCurrentPosition(positionSuccess, positionError)
于 2013-10-30T17:42:03.000 に答える