0

たくさんのサポート フォーラムがあることは知っていますが、私が探している答えを持っている人は誰もいないようです。したがって、詳細には、以下が私のシナリオです (私は ionic フレームで開発しています)。

現在の場所を取得するために ngCordova cordova-plugin-geolocation を使用しています (これは正常に機能します)。

function initialize(){
var posOptions = {timeout: 10000, enableHighAccuracy: false};

$cordovaGeolocation.getCurrentPosition(posOptions)
  .then(function(pos){
    var lat=pos.coords.latitude;
    var lng=pos.coords.longitude;
    var myLatlng = new google.maps.LatLng(lat,lng);
    initMap(myLatlng);
  }, function(err){
});}

上記のコードで、vars lat,lng に正しい値が設定されていることを確認しました。それで、次にやりたいことは、Google マップを表示するようにレンダリングすることです。以下のinitMap関数を使用して行います。

function initMap(origin){
var mapOptions = {
  center: origin,
  zoom: 16,
};
$scope.map=new google.maps.Map(document.getElementById("map"),mapOptions);}

この画像をレンダリングしようとすると、空白の画面しか表示されません。また、「ionic.Platform.ready(initialize);」があります。私のコントローラーコードで。

注: 以下は、HTML テンプレートのコード セグメントです。

<div id="map" ng-controller="MapCtrl">
</div>

失敗したコーディングの試みには次のものがあります。

  1. ionic.Platform.ready とは対照的に ng-init() を使用 - 同じ空の画像
  2. すべてを機能から外します (必死の試み) - 同じ空白の画像

次の場合に成功します。

initialize() 関数にネストされている「getCurrentPosition」操作を完全にバイパスして、latlong Google オブジェクトでinitMapを直接呼び出します。

任意の推奨事項は本当に高く評価されます。

4

1 に答える 1