2016-09-27 20 views
0

現在の場所を示すマップを作成しようとしています。だから、近くにマーカーがあるかどうかを見ることができます。GoogleマップJavascriptを使用してジオロケーションとマーカーを結合する

私はこの時点でコードを作成する必要があり、それらを組み合わせる必要があります。しかし、私がそうするとき、コードはもう働かない。誰かがそれらの2つのJSをどのように組み合わせるかを知っていますか?そうでない場合は、これを行う別の方法がありますか?

これは、ジオロケーションのためのJSです:

function initMap() 
var map = new google.maps.Map(document.getElementById('map'), { 
center: {lat: -34.397, lng: 150.644}, 
zoom: 14, 
}); 
var infoWindow = new google.maps.InfoWindow({map: map}); 
if (navigator.geolocation) { 
navigator.geolocation.getCurrentPosition(function(position) { 
    var pos = { 
    lat: position.coords.latitude, 
    lng: position.coords.longitude 
    }; 

    infoWindow.setPosition(pos); 
    infoWindow.setContent('Location found.'); 
    map.setCenter(pos); 
}, function() { 
    handleLocationError(true, infoWindow, map.getCenter()); 
}); 
} else { 
// Browser doesn't support Geolocation 
handleLocationError(false, infoWindow, map.getCenter()); 
} 
} 
function handleLocationError(browserHasGeolocation, infoWindow, pos) { 
infoWindow.setPosition(pos); 
infoWindow.setContent(browserHasGeolocation ? 
        'Error: The Geolocation service failed.' : 
        'Error: Your browser doesn\'t support geolocation.'); 
} 

そして、これは私がマーカーのために作られてきたJSコードです:

google.maps.event.addDomListener(window, 'load', initialize); 
var map; 
var currentPage = 'mapA'; 
var markers = [ 
['Thuis',52.2203713,6.90032999999994], 
['Bommelstein',52.22254299999999,6.911623800000029], 
['Saxion', 52.21976009999999,6.889364500000056], 
['Kroeg', 52.2206085,6.896547300000066], 
['t Gat', 52.2211657,6.895848999999998], 
['studieruimte de Bul', 52.22101940903001,6.8924690438436755] 
]; 
function initialize() { 
var mapOptions = { 
    zoom: 14, 
    disableDoubleClickZoom: true, 
    draggable: true, 
    panControl: false, 
    scrollwheel: true, 
    zoomControl: true, 
    streetViewControl: false, 
    overviewMapControl: false, 
    mapTypeControl: false, 
    center: new google.maps.LatLng(51.489031, 7.039671) 
}; 
map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions); 

setMarkers();}function setMarkers(){ 
for (i = 0; i < markers.length; i++) { 
    var post = new google.maps.LatLng(markers[i][1], markers[i][2]); 
    var marker = new google.maps.Marker({ 
     position: post, 
     map: map 
    }); 

    var infowindow = new google.maps.InfoWindow({ 
     content: markers[i][0] 
    }); 

    infowindow.open(map,marker); 
} 
} 
+0

が重複する可能性のベスト

function initMap() { // Try HTML5 geolocation. if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { var currentpos = { lat: position.coords.latitude, lng: position.coords.longitude }; var map = new google.maps.Map(document.getElementById('map'), { center: currentpos, zoom: 14, }); var contentString = 'I found you'; var infowindow = new google.maps.InfoWindow({ content: contentString }); var marker = new google.maps.Marker({ position: pos, map: map, title: 'marker with infoWindow' }); marker.addListener('click', function() { infowindow.open(map, marker); }); }, function() { handleLocationError(true, infoWindow, map.getCenter()); }); } else { // Browser doesn't support Geolocation handleLocationError(false, infoWindow, map.getCenter()); } } function handleLocationError(browserHasGeolocation, infoWindow, pos) { infoWindow.setPosition(pos); infoWindow.setContent(browserHasGeolocation ? 'Error: The Geolocation service failed.' : 'Error: Your browser doesn\'t support geolocation.'); } 

(http://stackoverflow.com/questions/10932496/ [JavaScriptを使用して、ジオロケーション、複数のマーカーを組み合わせる方法?]:ここにあなたに似た私の簡単なコードです結合方法 - ジオロケーションとマルチマーカー - JavaScriptを使用) – geocodezip

答えて

0

私は実際にsamethingに取り組んでいました数分前まで同じ問題です。地図のオブジェクトを宣言する前に位置を見つけるためにジオロケーション条件を開始するだけで、私のために働きました。運

関連する問題