2017-02-27 6 views
-2

これは、javacriptファイルの下で実行しているときに発生するエラーです。なぜGeolocation HTML5 getCurrentPosition()がGoogleマップで機能していないのですか?

getCurrentPosition()およびwatchPosition()は、安全でない起点では動作しなくなりました。この機能を使用するには、アプリケーションをHTTPSなどの安全な起点に切り替えることを検討する必要があります。詳細はhttpsを参照してください。

これは私のjavascriptファイル

<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<script 
    src="https://maps.googleapis.com/maps/api/js?key=AIzaSyA4HSRrQSje--aI6ImtJF30s5ezaUWxsow&libraries=places"></script> 

<script> 
function getLocation() 
    { 
     console.log("In geolocation"); 
     if (navigator.geolocation) 
     { 
     navigator.geolocation.getCurrentPosition(showPosition); 
     } 
     else 
     { 
     print("Browser doesn't support geolocation"); 
     } 

function showPosition(position) 
    { 
     console.log("in show position"); 
     dest_lat=position.coords.latitude; 
     dest_long=position.coords.longitude; 

     url = 'https://maps.googleapis.com/maps/api/geocode/json?latlng='+ dest_lat + ',' + dest_long + '&sensor=false'; 
     $.get(url, function(data) 
      { 
        if (data.status == 'OK') 
        { 
         map.setCenter(data.results[0].geometry.location);     
          console.log("Dragaed lat "+marker.getPosition().lat()); 
          console.log("Dragged lng "+marker.getPosition().lng()); 
          console.log("Address "+data.results[0].formatted_address); 
        } 
       }); 
    } 
</script> 
</head> 
<body> 
<input type="button" value="LocateMe" onclick="getLocation();"/> 
</body> 
</html> 
+1

エラーメッセージを理解していないのですか?これらの機能は、https経由で提供されていないページでは使用できません。 – baao

+0

ちょっと! Baoo。私はエラーを見ることができます。私はそれを理解することができます。しかし、私はそれを解決する際に問題に直面していました。最後に、私はそれを理解した。それは私がWebプログラミングの初心者だということです。ありがとうございました。 –

答えて

0

あなたはhttps://と1にそれにサーバーを配置する必要があります! https://dotnetcodr.com/2015/09/18/how-to-enable-ssl-for-a-net-project-in-visual-studio/ Alternativelyyouはデフォルトごとに、HTTPSを使用していますjsfiddler、上でそれをテストすることができます:Visual Studioを使用している場合

は、あなたがhttps://参照して昼食にサイトを構成することができます。

あなたのコードには他にも多くのエラーがあります。

  • ブラケットは、オブジェクトが(彼らは後にいくつかの本当に厄介な問題を引き起こし、エラーをスローすることができますグローバル名前空間に追加され
  • variblesが宣言されていないあなたの例で定義されていません
  • map一致していませんあなたは"use strict"を使用する場合)ここで

はjsfiddleの作業excampleです:https://jsfiddle.net/3gkkvs50/ (stackoverflowのは、例のためにhttpsを使用しない)

HTML:

<input type="button" value="LocateMe" onclick="getLocation();" /> 

JS:、あなたはそれについて何を非常に明確

function getLocation() { 
    console.log("In geolocation"); 
    if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(showPosition); 
    } else { 
    print("Browser doesn't support geolocation"); 
    } 
} 

function showPosition(position) { 
    console.log("in show position"); 
    var dest_lat = position.coords.latitude; 
    var dest_long = position.coords.longitude; 

    var url = 'https://maps.googleapis.com/maps/api/geocode/json?latlng=' + dest_lat + ',' + dest_long + '&sensor=false'; 
    $.get(url, function(data) { 
    alert(JSON.stringify(data)); 
    }); 
} 
+0

それは私にとってはうまくいくものです。私は問題と解決策も明確に把握しています。ステファンありがとうございました。 –

+0

その後、答えを受け入れてください:) – Stefan

関連する問題