0

我非常坚持从 corona sdk 中的谷歌地图获取当前位置,我已经尝试过使用谷歌地理位置,我尝试了以下解决方案,但在电晕中它没有显示用户的当前 位置 也是

<script src="http://maps.googleapis.com/maps/api/js?sensor=true"></script>
<script>
    var map;
    function initialize() {
    var myOptions = {
      zoom: 8,
      panControl: false,
        zoomControl: true,
        zoomControlOptions: {
            style: google.maps.ZoomControlStyle.SMALL
          },
        mapTypeControl: false,
        scaleControl: false,
        streetViewControl: false,
        overviewMapControl: false,
      center: new google.maps.LatLng(-34.397, 150.644),
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById('map'),
        myOptions);

    // Try HTML5 geolocation
    if(navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(function(position) {
        var pos = new google.maps.LatLng(position.coords.latitude,
                                         position.coords.longitude);

        var infowindow = new google.maps.InfoWindow({
          map: map,
          position: pos,
          content: 'Location found using HTML5.'
        });

        map.setCenter(pos);
      }, function() {
        handleNoGeolocation(true);
      });
    } else {
      // Browser doesn't support Geolocation
      handleNoGeolocation(false);
    }
    }

    function handleNoGeolocation(errorFlag) {
    if (errorFlag) {
      var content = 'Error: The Geolocation service failed.';
    } else {
      var content = 'Error: Your browser doesn\'t support geolocation.';
    }

    var options = {
      map: map,
      position: new google.maps.LatLng(60, 105),
      content: content
    };

    var infowindow = new google.maps.InfoWindow(options);
    map.setCenter(options.position);
    }

    google.maps.event.addDomListener(window, 'load', initialize);
</script>
4

1 回答 1

1

Corona 本地地图,使用 native.newMapView() 不是“谷歌地图”,因为它在网络浏览器中运行或直接使用设备的应用程序。在 Apple 上,我们使用他们内置的 Map SDK,它恰好使用了驱动 Apple Map 应用程序的引擎。在 Android 上,我们使用 Google 的 Map SDK。

要点是您不能在使用 native.newMapView() 的 Corona 应用程序中使用这样的 JavaScript。如果您使用的是 webView,则可能会使其工作,因为您可以运行 JavaScript,并且您的 webView 可以嵌入 Google 网页地图。这就是为什么我不得不问这个问题。现在我们知道了......

Corona SDK 有几个 API 调用可与 native.newMapView 一起使用,可让您获取地址和位置信息。请参见:

http://docs.coronalabs.com/api/type/Map/index.html

于 2013-08-18T21:26:24.823 回答