我让用户当前位置显示红色标记。如何显示标记以显示我所在位置附近的商店?我已经尝试在下面的代码中执行此操作但遗憾的是这不起作用。所有帮助都是学徒。谢客。
var _map = null;
var _seconds = 30;
var _llbounds = null;
var myLatLng;
var oldLatLng = "";
var boolTripTrack = true;
var currentLatitude;
var currentLongitude;
//Create the google Maps and LatLng object
function drawMap() {
//Creates a new google maps object
var latlng = new google.maps.LatLng(currentLatitude, currentLongitude);
myLatLng = latlng;
var mapOptions = {
center: latlng,
zoom:7,
mapTypeId: google.maps.MapTypeId.ROADMAP,
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.SMALL,
position: google.maps.ControlPosition.LEFT_TOP
}
};
if (boolTripTrack === true) {
_map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
}
}
//40.7655,-73.97204 = NYC
//var currentLatitude = "40.713768";
//var currentLongitude = "-73.016696";
var options = {
timeout: 10000,
maximumAge: 11000,
enableHighAccuracy: true
};
//Success callback
var suc = function(p) {
console.log("geolocation success", 4);
//Draws the map initially
if (_map === null) {
currentLatitude = p.coords.latitude;
currentLongitude = p.coords.longitude;
drawMap();
} else {
myLatLng = new google.maps.LatLng(p.coords.latitude, p.coords.longitude);
}
//Creates a new google maps marker object for using with the pins
if ((myLatLng.toString().localeCompare(oldLatLng.toString())) !== 0) {
//Create a new map marker
var Marker = new google.maps.Marker({
position: myLatLng,
map: _map
});
}
oldLatLng = myLatLng;
};
var fail = function() {
console.log("Geolocation failed. \nPlease enable GPS in Settings.", 1);
};
var getLocation = function() {
console.log("in getLocation", 4);
};
//Execute when the DOM loads
function onDeviceReady() {
try {
if (navigator.geolocation !== null) {
document.getElementById("map_canvas").style.height = screen.height + "px";
navigator.geolocation.watchPosition(suc, fail, options);
}
} catch (e) {
alert(e.message);
}
try {
//hide splash screen
navigator.splashscreen.hide();
} catch (e) {}
}
document.addEventListener("deviceready", onDeviceReady, false);
function click_button_home() {
window.location.replace('index.html');
}
// this is where i am trying to get different markers to display to show shops nearby the users location
var map;
var infowindow;
function initMap() {
var pyrmont = {lat: -33.867, lng: 151.195};
map = new google.maps.Map(document.getElementById('map_canvas'), {
center: pyrmont,
zoom: 15
});
infowindow = new google.maps.InfoWindow();
var service = new google.maps.places.PlacesService(map);
service.nearbySearch({
location: pyrmont,
radius: 500,
types: ['store']
}, callback);
}
function callback(results, status) {
if (status === google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
createMarker(results[i]);
}
}
}
function createMarker(place) {
var placeLoc = place.geometry.location;
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(place.name);
infowindow.open(map, this);
});
}