[英]google map multiple marker with json
如何使用 json 數據在谷歌地圖中制作多個標記。 我試過使用單個標記它可以工作,但沒有使用多個標記。
這是單個標記的代碼(它正在運行)
var lat=position.coords.latitude;
var lang=position.coords.longitude;
var myLatlng = new google.maps.LatLng(lat,lang);
var myMapOptions = {
zoom: 12
,center: myLatlng
,mapTypeId: google.maps.MapTypeId.HYBRID
};
var theMap = new google.maps.Map(document.getElementById("map_canvas"), myMapOptions);
var image = "images/tag.png"; //IMAGE TAG
var marker = new google.maps.Marker({
map: theMap,
draggable: false,
position: new google.maps.LatLng(lat,lang),
visible: true,
icon: image,
title:restaurantName // Title
});
var myOptions = {
content: ""
,disableAutoPan: false
,maxWidth: 0
,pixelOffset: new google.maps.Size(-140, -110)
,pixelOffset: new google.maps.Size(140, 110)
,zIndex: null
,boxStyle: {
background: "url('tipbox.gif') no-repeat"
,opacity: 0.90
}
,closeBoxMargin: "10px 2px 2px 2px"
,closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif"
,infoBoxClearance: new google.maps.Size(1, 1)
,isHidden: false
,pane: "floatPane"
,enableEventPropagation: false
};
這是在點擊標記時進行描述
var contentString = '<div class="map_anotaion_title">Description</div>'; //Address on pin click
var infowindow = new google.maps.InfoWindow({
content: contentString
});
infowindow.open(theMap,marker);
google.maps.event.addListener(marker, "click", function (e) {
infowindow.open(theMap,marker);
});
這是我嘗試使用來自 JSON 的多標記加載的代碼(它不起作用)
var lat=position.coords.latitude;
var lang=position.coords.longitude;
var myLatlng = new google.maps.LatLng(lat,lang);
var myMapOptions = {
zoom: 12
,center: myLatlng
,mapTypeId: google.maps.MapTypeId.HYBRID
};
var theMap = new google.maps.Map(document.getElementById("map_canvas"), myMapOptions);
var image = "images/tag.png";
$.getJSON('http://myweb.com/services/get_loc_komp.php', function(json1) {
$.each(json1, function(key, data) {
var marker = new google.maps.Marker({
map: theMap,
draggable: false,
position: new google.maps.LatLng(data.latd,data.lotd),
visible: true,
icon: image,
title:data.street // Title
});
});
});
var myOptions = {
content: ""
,disableAutoPan: false
,maxWidth: 0
,pixelOffset: new google.maps.Size(-140, -110)
,pixelOffset: new google.maps.Size(140, 110)
,zIndex: null
,boxStyle: {
background: "url('tipbox.gif') no-repeat"
,opacity: 0.90
}
,closeBoxMargin: "10px 2px 2px 2px"
,closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif"
,infoBoxClearance: new google.maps.Size(1, 1)
,isHidden: false
,pane: "floatPane"
,enableEventPropagation: false
};
var contentString = '<div class="map_anotaion_title">Description</div>'; //Address on pin click
var infowindow = new google.maps.InfoWindow({
content: contentString
});
infowindow.open(theMap,marker);
google.maps.event.addListener(marker, "click", function (e) {
infowindow.open(theMap,marker);
});
請幫助我任何人
非常感謝您
它現在工作,謝謝@terry
這是我的代碼:
$.getJSON('http://myweb.com/services/get_loc_komp.php', function(data) {
all_address = data.items;
$.each(all_address, function(index, adress) {
var marker = new google.maps.Marker({
map: theMap,
draggable: false,
position: new google.maps.LatLng(adress.latd,adress.lotd),
visible: true,
icon: image,
title:adress.street // Title
});
var contentString="";
var infowindow="";
var contentString = '<div class="map_anotaion_title">'+adress.street+'</div>'; //Address on pin click
var infowindow = new google.maps.InfoWindow({
content: contentString
});
infowindow.open(theMap,marker);
google.maps.event.addListener(marker, "click", function (e) {
infowindow.open(theMap,marker);
});
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.