久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

<small id='BGpAd'></small><noframes id='BGpAd'>

<i id='BGpAd'><tr id='BGpAd'><dt id='BGpAd'><q id='BGpAd'><span id='BGpAd'><b id='BGpAd'><form id='BGpAd'><ins id='BGpAd'></ins><ul id='BGpAd'></ul><sub id='BGpAd'></sub></form><legend id='BGpAd'></legend><bdo id='BGpAd'><pre id='BGpAd'><center id='BGpAd'></center></pre></bdo></b><th id='BGpAd'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='BGpAd'><tfoot id='BGpAd'></tfoot><dl id='BGpAd'><fieldset id='BGpAd'></fieldset></dl></div>
      • <bdo id='BGpAd'></bdo><ul id='BGpAd'></ul>
    1. <tfoot id='BGpAd'></tfoot>

      1. <legend id='BGpAd'><style id='BGpAd'><dir id='BGpAd'><q id='BGpAd'></q></dir></style></legend>
      2. 使用傳單 API 更新標記位置

        update marker location with leaflet API(使用傳單 API 更新標記位置)

            <i id='ZfJ74'><tr id='ZfJ74'><dt id='ZfJ74'><q id='ZfJ74'><span id='ZfJ74'><b id='ZfJ74'><form id='ZfJ74'><ins id='ZfJ74'></ins><ul id='ZfJ74'></ul><sub id='ZfJ74'></sub></form><legend id='ZfJ74'></legend><bdo id='ZfJ74'><pre id='ZfJ74'><center id='ZfJ74'></center></pre></bdo></b><th id='ZfJ74'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='ZfJ74'><tfoot id='ZfJ74'></tfoot><dl id='ZfJ74'><fieldset id='ZfJ74'></fieldset></dl></div>
            <tfoot id='ZfJ74'></tfoot>
              <bdo id='ZfJ74'></bdo><ul id='ZfJ74'></ul>
                <legend id='ZfJ74'><style id='ZfJ74'><dir id='ZfJ74'><q id='ZfJ74'></q></dir></style></legend>

                <small id='ZfJ74'></small><noframes id='ZfJ74'>

                    <tbody id='ZfJ74'></tbody>

                • 本文介紹了使用傳單 API 更新標記位置的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我想使用 Leaflet API 構建 Web 應用程序.首先,我的用戶使用 IP 進行地理定位,然后如果他接受,我嘗試使用 HTML5 地理定位更新他的位置(準確性更好).

                  I want to build web app with the Leaflet API. First my user is geolocated with IP then if he accepts I try to update his position with HTML5 geolocation (accuracy is better).

                  我的問題是地圖上的標記位置未更新,并且下面的代碼失敗且沒有錯誤.我從 leaflet 文檔 嘗試了數百種不同的語法和方法來更新標記位置(即 setLatLng),但我沒有成功.我想了解我的代碼有什么問題.

                  My problem is that the marker position is not updated on the map and the code bellow fails with no error. I have try hundred of different syntax and methods from leaflet documentation to update marker position (ie. setLatLng) but I did not succeed. I would like to understand what's wrong with my code.

                  我的問題通過這樣做解決了:

                  My problem is solved by doing like this :

                      var lat = (e.latlng.lat);
                      var lng = (e.latlng.lng);
                      var newLatLng = new L.LatLng(lat, lng);
                      marker.setLatLng(newLatLng); 
                  

                  舊代碼是:

                  //initial IP based geolocation
                  
                  var lat = google.loader.ClientLocation.latitude;
                  var lng = google.loader.ClientLocation.longitude;
                  
                  //place marker on the map
                  
                  var marker = L.marker([lat,lng]).addTo(map);
                  
                  //start HTML5 geolocation 
                  
                  map.locate({setView: true, maxZoom: 16});
                  
                  function onLocationFound(e) {
                  
                      var marker = L.marker([e.latlng.lat,e.latlng.lng]).update(marker);
                      alert ('New latitude is ' + e.latlng.lat)
                  }
                  
                  map.on('locationfound', onLocationFound);
                  

                  推薦答案

                  你的問題里面的代碼有點混亂,你只貼片段很難說是什么問題.

                  The code inside your question is a little bit confusing, it's hard to say what the issue is when you only post snippets.

                  事實上,這段代碼:

                      var lat = (e.latlng.lat);
                      var lng = (e.latlng.lng);
                      var newLatLng = new L.LatLng(lat, lng);
                      marker.setLatLng(newLatLng); 
                  

                  ..應該在 onLocationFound() 中按預期工作.

                  ..should work as expected inside onLocationFound().

                  你可以簡化它:

                  marker.setLatLng(e.latlng);
                  

                  但是,我想問題是范圍問題,您的某些變量(例如標記)在 onLocationFound 中無法訪問.

                  However, I guess the problem is a scope-issue, some of your variables (e.g. marker) is not accessible inside onLocationFound.

                  這里是一個如何實現的例子:

                  Here an example how to achieve it:

                  function init(){
                      var map             = L.map('map', {center: [51.505, -0.09], zoom: 13}),
                          marker          = L.marker(map.getCenter()).addTo(map),
                          glcl            = google.loader.ClientLocation,
                          onLocationfound = function(e){
                            marker.setLatLng(e.latlng);
                            map.setView(marker.getLatLng(),map.getZoom()); 
                            alert('Marker has been set to position :'+marker.getLatLng().toString());
                          };
                  
                      L.tileLayer('http://{s}.tile.cloudmade.com/[yourCloudmadeKey]/997/256/{z}/{x}/{y}.png').addTo(map);
                  
                      map.on('locationfound', onLocationfound);
                  
                      if(glcl){//when google.loader.ClientLocation contains result
                         onLocationfound({latlng:[glcl.latitude,glcl.longitude]});
                      }else{alert('google.loader.ClientLocation fails');}
                  
                      map.locate();
                  } 
                  

                  演示:http://jsfiddle.net/doktormolle/6ftGz/

                  這篇關于使用傳單 API 更新標記位置的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Check if a polygon point is inside another in leaflet(檢查一個多邊形點是否在傳單中的另一個內部)
                  Changing leaflet markercluster icon color, inheriting the rest of the default CSS properties(更改傳單標記群集圖標顏色,繼承其余默認 CSS 屬性)
                  Trigger click on leaflet marker(觸發點擊傳單標記)
                  How can I change the default loading tile color in LeafletJS?(如何更改 LeafletJS 中的默認加載磁貼顏色?)
                  Add external geojson to leaflet layer(將外部geojson添加到傳單層)
                  Adding Leaflet layer control to sidebar(將 Leaflet 圖層控件添加到側邊欄)

                    <i id='pnFYr'><tr id='pnFYr'><dt id='pnFYr'><q id='pnFYr'><span id='pnFYr'><b id='pnFYr'><form id='pnFYr'><ins id='pnFYr'></ins><ul id='pnFYr'></ul><sub id='pnFYr'></sub></form><legend id='pnFYr'></legend><bdo id='pnFYr'><pre id='pnFYr'><center id='pnFYr'></center></pre></bdo></b><th id='pnFYr'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='pnFYr'><tfoot id='pnFYr'></tfoot><dl id='pnFYr'><fieldset id='pnFYr'></fieldset></dl></div>

                        <small id='pnFYr'></small><noframes id='pnFYr'>

                          <tbody id='pnFYr'></tbody>
                        <legend id='pnFYr'><style id='pnFYr'><dir id='pnFYr'><q id='pnFYr'></q></dir></style></legend>

                          <bdo id='pnFYr'></bdo><ul id='pnFYr'></ul>

                          1. <tfoot id='pnFYr'></tfoot>
                            主站蜘蛛池模板: 三级a毛片| 国产精品一区二区三区四区五区 | 午夜黄色大片 | 成年女人毛片 | 亚洲毛片av | 伊人网在线| 国产黄色免费视频 | 久久久久久中文字幕 | 久久免费高清视频 | 色综合久久88 | 精品一区在线播放 | 午夜成人影片 | 美女国产精品 | 亚洲精品www久久久久久广东 | 久久精品久久久久 | 日本一本在线 | 一区二区视频在线播放 | av香蕉| 午夜aaa| 国产视频一区二区三区四区 | www.精品| 99视频在线精品免费观看2 | 天天爽夜夜爽夜夜爽精品视频 | 九九视频在线观看 | 日韩av在线网站 | 国产成人精品av | 伊人网在线 | 色网站女女 | 日本精品视频在线 | 欧美区在线 | 日本在线视频一区二区 | 日韩欧美国产一区二区三区 | 国产精品一品二品 | 国产午夜精品一区二区三区视频 | www性 | 欧美一级做性受免费大片免费 | 国产色播 | 日本黄色a级片 | 久久久www成人免费精品 | 国产精品成人免费一区久久羞羞 | 国产精品成人免费精品自在线观看 |