2014-11-18 4 views
0

저는 오랫동안 맞춤형 Google지도 (Fusion Tables)를 꾸미려고 노력해 왔습니다. 마침내이 플러그인 'fusionMap.js'를 찾아서 색상 등을 변경할 수있는 몇 가지 옵션을 참조 할 수있게했습니다.fusionMap.js 플러그인이 Google지도의 시작 위치를 변경하는 이유는 무엇입니까?

jQuery와 플러그인을 추가하는 것 외에 다음과 같이 추가해야합니다. 나는이 페이지를 테스트하기 위해 갈 때

$('#map').fusionMap({ 
     publishedtable: 'https://www.google.com/fusiontables/embedviz?q=select+col6+from+1lIBTAqiuRK_U3PM9_8IB0fJjiyXmdPFZR5Jh5vuw&viz=MAP&h=false&lat=51.50644271284457&lng=-0.11780194013670364&t=1&z=13&l=col6&y=2&tmplt=2&hml=ONE_COL_LAT_LNG', // Link to published map 
     mapstyles: 'scripts/maps/paledown.js' // Path to map 
    }); 

이 큰, 그리고지도를 스타일링에서 작동하지만지도는 위치에의에 가정 시작되지 않습니다. 이상한 것은 당신이 그것을 제대로 표시이 코드 내에서 URL에 갈 때 ....

https://www.google.com/fusiontables/embedviz?q=select+col6+from+1lIBTAqiuRK_U3PM9_8IB0fJjiyXmdPFZR5Jh5vuw&viz=MAP&h=false&lat=51.50644271284457&lng=-0.11780194013670364&t=1&z=13&l=col6&y=2&tmplt=2&hml=ONE_COL_LAT_LNG

입니다 ...하지만 위치를 변경할 수있는 jQuery를 아무것도있을 것 같지 않습니다. 누구나 왜 움직일 지 알지 않습니까? 아니면 제대로 작동하지 않는다면이 맵을 스타일 화하는 다른 방법을 아는 사람이 있습니까? 여기

사랑스러운 색상이지만 잘못 위치지도 ... http://thetally.efinancialnews.com/tallyassets/hedgefundmap/index.html

덕분이다

플러그인은 긍정적 인 좌표

소스 코드에서

와 함께 작동 있기 때문에

답변

2

:

parseUrl: function(url){ 
    var lat = url.match(/lat=(\d*).(\d*)/); // will only match positive numbers 
    this.options.lat = lat[1] + '.' + lat[2]; 

    var lng = url.match(/lng=(\d*).(\d*)/); // will only match positive numbers 
    this.options.lng = lng[1] + '.' + lng[2]; 

    var styledId = url.match(/y=(\d*)/); 
    this.options.styledId = parseInt(styledId[1]); 

    var templateId = url.match(/tmplt=(\d*)/); 
    this.options.templateId = parseInt(templateId[1]); 

    var zoom = url.match(/&z=(\d*)/); 
    this.options.zoom = parseInt(zoom[1]); 

    var column = url.match(/col+(\d*)/); 
    this.options.column = 'col'+column[1]; 

    var tableid = url.match(/from\+(.+)&viz/); 
    this.options.tableid = tableid[1]; 
}, 

jsfiddle에서 예제를 설정할 수는 없지만 제 가정을 증명하기 위해 다음 링크를 살펴보십시오. ongitude 값을 0으로 설정하십시오 (플러그인에 의해 "보임").

https://www.google.com/fusiontables/embedviz?q=select+col6+from+1lIBTAqiuRK_U3PM9_8IB0fJjiyXmdPFZR5Jh5vuw&viz=MAP&h=false&lat=51.50644271284457&lng=0&t=1&z=13&l=col6&y=2&tmplt=2&hml=ONE_COL_LAT_LNG

약간 좌표의 추출에 사용되는 정규식을 조정 당신이해야합니다이 문제를 해결합니다. 첫 번째 그룹에 을 추가하십시오.

var lat = url.match(/lat=(-?\d*).(\d*)/); 
this.options.lat = lat[1] + '.' + lat[2]; 

var lng = url.match(/lng=(-?\d*).(\d*)/); 
this.options.lng = lng[1] + '.' + lng[2]; 
+0

AMAZING! 누구든지이 답변을 기대하지 않았다, 감사합니다 – bboybeatle

+0

융합 맵 설정뿐만 아니라 UI를 비활성화하는 것과 같은 기본 Google지도 옵션을 어떻게 포함시킬 수 있는지 알고 계시다면 ... ... https://developers.google.com/maps/documentation/javascript/examples/control-disableUI – bboybeatle

+1

'createMap()'에서'google.maps.Map (...) '호출을 조정해야합니다. 플러그인은 두 가지 옵션 (가운데, 확대/축소) 만 사용합니다. 거기에서 조정을 시작해야합니다. – Andreas

관련 문제