これがブラウザのジオロケーション機能に依存していると仮定すると、この問題を「修正」することはできません。これは、非同期コーディングの性質にあります。
関数wialon.util.Gis.getLocations()
では、コールバックを渡します。したがって、この呼び出しの (非同期) 実行後、コールバックが実行されます。
その間、残りのコードが実行され、console.log(myvarible);
結果は 0 になります。
それに応じてコーディング スタイルを変更し、依存するすべてのコードをmyvarible
コールバック自体またはコールバック内で呼び出される関数に配置します。そうすれば、このコードはが設定された後に myvarible
のみ実行されます。
したがって、次のいずれかです。
var myvarible = "0";
wialon.util.Gis.getLocations(coordsc,function(code,responceval){
myvarible = responceval;
// here comes code using myvarible
console.log(myvarible);
});
また
var myvarible = "0";
function doStuff(){
// here comes code using myvarible
console.log(myvarible);
};
wialon.util.Gis.getLocations(coordsc,function(code,responceval){
myvarible = responceval;
doStuff();
});