Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
让javascript谷歌地图发挥更大作用”;本地的;_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

让javascript谷歌地图发挥更大作用”;本地的;

让javascript谷歌地图发挥更大作用”;本地的;,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我给科尔多瓦一个诚实的镜头(通过爱奥尼亚cli),它的功能进行得很好,但用户体验尖叫非本地。以下是我当前的实现: index.html ... <script src="http://maps.googleapis.com/maps/api/js?sensor=true&amp;libraries=geometry"></script> ... ... <div id="map" data-tap-disabled="true"></div&

我给科尔多瓦一个诚实的镜头(通过爱奥尼亚cli),它的功能进行得很好,但用户体验尖叫非本地。以下是我当前的实现:

index.html

...
<script src="http://maps.googleapis.com/maps/api/js?sensor=true&amp;libraries=geometry"></script>
...
...
<div id="map" data-tap-disabled="true"></div>
...
.controller('MapCtrl', function($scope, $ionicLoading, $compile) {
  function initialize() {
    var myLatlng = new google.maps.LatLng(43.07493,-89.381388);

    var mapOptions = {
      center: myLatlng,
      zoom: 16,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map"),
        mapOptions);

    google.maps.event.addListener(marker, 'click', function() {
      infowindow.open(map,marker);
    });

    $scope.map = map;
  }
  //google.maps.event.addDomListener(window, 'load', initialize);
  ionic.Platform.ready(initialize);
});
如何在MapCtrl中启动标记

在我让用户体验在性能更好的设备上更加友好的过程中,我时不时地会发现一些有用的东西,但结果证明这是一个没有多大帮助的黑客行为。必须有某种方法让这段代码有一种更自然的感觉。以下是我想澄清的一些问题:

  • 直到用户在收缩/缩放后释放所有触摸后,才会加载新地图图像
  • 直到用户在挤压/缩放后释放所有触摸,标记才会调整大小
  • 使用位图图像而不是矢量(html5画布?)
我相信还有很多地方需要改进,但我现在开始做得很小。我可以做些什么来让API更自然地工作

  • 新地图图像。。。这种行为不仅在移动设备上,而且在桌面上。这是为了节省资源(考虑到您已经完成了大量本机应用程序,但没有遇到此要求)

  • 标记不会调整大小…这将被认为是一个很好的选择,而不是必要的,这种行为不会妨碍应用程序的可用性。最终,应用程序不是游戏

  • 位图vs vector,应用程序必须支持多个设备。位图运行良好时为什么要制作两个版本?请参阅开发vector/html5版本的某个应用程序的浏览器要求和限制

  • 新地图图像…此行为不仅在移动设备上,而且在桌面上。这是为了节省资源(考虑到您已经完成了大量本机应用程序,但没有遇到此要求)

  • 标记不会调整大小…这将被认为是一个很好的选择,而不是必要的,这种行为不会妨碍应用程序的可用性。最终,应用程序不是游戏

  • 位图vs vector,应用程序必须支持多个设备。位图运行良好时为什么要制作两个版本?请参阅开发vector/html5版本的某个应用程序的浏览器要求和限制


  • 如果你将谷歌地图应用程序视为一个独立的应用程序,它的运行方式会有所不同(而且是基于向量的)。我知道我无法利用原生地图的所有功能,但我想至少获得一些功能,你知道我的意思吗?如果你将谷歌地图应用程序视为一个独立的应用程序,它的运行方式会有所不同(并且基于向量)。我知道我无法利用本地地图的所有功能,但我想至少获得一些功能,你知道我的意思吗?如果你将谷歌地图应用程序视为一个独立的应用程序,它的运行方式会有所不同(并且基于向量).我知道我无法利用本地地图的所有功能,但我想至少获得一些功能,你知道我的意思吗?
        var marker = new google.maps.Marker({
          map: $scope.map,
          position: o.getLatLng(),
          icon: {
            url: thumb, // "img/somethumb.png"
            scaledSize: new google.maps.Size(62, 62), //size
            // origin: new google.maps.Point(0, 0), //origin
            anchor: new google.maps.Point(30, 108) //anchor
          }
        });