Javascript 在Google maps Jquery.gmaps.js上添加标记
我无法在我的网站上获得谷歌地图标记 以下是html中的脚本:Javascript 在Google maps Jquery.gmaps.js上添加标记,javascript,jquery,html,Javascript,Jquery,Html,我无法在我的网站上获得谷歌地图标记 以下是html中的脚本: <script src="js/jquery.gmap.js"></script> <script type="text/javascript" src="js/examples.js"></script> <script src="js/theme-core.js"></script> <script type=
<script src="js/jquery.gmap.js"></script>
<script type="text/javascript" src="js/examples.js"></script>
<script src="js/theme-core.js"></script>
<script type="text/javascript">
// Full Width
$("#googlemapsFullWidth").gMap({
controls: {
draggable: (($.browser.mobile) ? false : true),
panControl: true,
zoomControl: true,
mapTypeControl: true,
scaleControl: true,
streetViewControl: true,
overviewMapControl: true
},
scrollwheel: true,
latitude: 56.024834,
longitude: 10.212024,
zoom: 7
}
);
var marker = new google.maps.Marker({
position: latLng,
title:"Hello World!",
visible: true
});
marker.setMap(map);
</script>
//全宽
$(“#谷歌地图FullWidth”).gMap({
控制:{
可拖动:($.browser.mobile)?false:true),
泛控制:对,
动物控制:对,
mapTypeControl:true,
scaleControl:对,
街景控制:对,
概览映射控件:true
},
滚轮:对,
纬度:56.024834,
经度:10.212024,
缩放:7
}
);
var marker=new google.maps.marker({
位置:latLng,
标题:“你好,世界!”,
可见:正确
});
marker.setMap(map);
下面是gmaps.js中的代码
/**
* jQuery gMap - Google Maps API V3
*
*/
/* global google */
(function($)
{
// Main plugin function
$.fn.gMap = function(options, methods_options)
{
// Optional methods
switch(options)
{
case 'addMarker':
return $(this).trigger(
'gMap.addMarker',
[methods_options.latitude, methods_options.longitude,
methods_options.content, methods_options.icon, methods_options.popup]
);
case 'centerAt':
return $(this).trigger('gMap.centerAt', [methods_options.latitude,
methods_options.longitude, methods_options.zoom]);
case 'clearMarkers':
return $(this).trigger('gMap.clearMarkers');
}
// Build main options before element iteration
var opts = $.extend({}, $.fn.gMap.defaults, options);
// Iterate through each element
return this.each(function()
{
// Create map and set initial options
var $gmap = new google.maps.Map(this);
$(this).data('gMap.reference', $gmap);
// Create new object to geocode addresses
var $geocoder = new google.maps.Geocoder();
// Check for address to center on
if (opts.address)
{
// Get coordinates for given address and center the map
$geocoder.geocode(
{
address: opts.address
}, function(gresult, status)
{
if(gresult && gresult.length) {
$gmap.setCenter(gresult[0].geometry.location);
}
}
);
}else{
// Check for coordinates to center on
if (opts.latitude && opts.longitude)
{
// Center map to coordinates given by option
$gmap.setCenter(new google.maps.LatLng(opts.latitude,
opts.longitude));
}
else
{
// Check for a marker to center on (if no coordinates given)
if ($.isArray(opts.markers) && opts.markers.length > 0)
{
// Check if the marker has an address
if (opts.markers[0].address)
{
// Get the coordinates for given marker address and center
$geocoder.geocode(
{
address: opts.markers[0].address
}, function(gresult, status)
{
if(gresult && gresult.length > 0) {
$gmap.setCenter(gresult[0].geometry.location);
}
}
);
}else{
// Center the map to coordinates given by marker
$gmap.setCenter(new
google.maps.LatLng(opts.markers[0].latitude, opts.markers[0].longitude));
}
}else{
// Revert back to world view
$gmap.setCenter(new google.maps.LatLng(34.885931, 9.84375));
}
}
}
$gmap.setZoom(opts.zoom);
// Set the preferred map type
$gmap.setMapTypeId(google.maps.MapTypeId[opts.maptype]);
// Set scrollwheel option
var map_options = { scrollwheel: opts.scrollwheel,
disableDoubleClickZoom: !opts.doubleclickzoom };
// Check for map controls
if(opts.controls === false){
$.extend(map_options, { disableDefaultUI: true });
}else if (opts.controls.length !== 0){
$.extend(map_options, opts.controls, { disableDefaultUI: true });
}
$gmap.setOptions(map_options);
// Create new icon
var gicon = new google.maps.Marker();
var marker_icon;
var marker_shadow;
// Set icon properties from global options
marker_icon = new google.maps.MarkerImage(opts.icon.image);
marker_icon.size = new google.maps.Size(opts.icon.iconsize[0], opts.icon.iconsize[1]);
marker_icon.anchor = new google.maps.Point(opts.icon.iconanchor[0], opts.icon.iconanchor[1]);
gicon.setIcon(marker_icon);
if(opts.icon.shadow)
{
marker_shadow = new google.maps.MarkerImage(opts.icon.shadow);
marker_shadow.size = new google.maps.Size(opts.icon.shadowsize[0], opts.icon.shadowsize[1]);
marker_shadow.anchor = new google.maps.Point(opts.icon.shadowanchor[0], opts.icon.shadowanchor[1]);
gicon.setShadow(marker_shadow);
}
// Bind actions
$(this).bind('gMap.centerAt', function(e, latitude, longitude, zoom)
{
if(zoom) {
$gmap.setZoom(zoom);
}
$gmap.panTo(new google.maps.LatLng(parseFloat(latitude), parseFloat(longitude)));
});
// Clear Markers
var overlays = [];
$(this).bind('gMap.clearMarkers', function()
{
while(overlays[0]){
overlays.pop().setMap(null);
}
});
var last_infowindow;
$(this).bind('gMap.addMarker', function(e, latitude, longitude, content, icon, popup)
{
var marker_icon;
var marker_shadow;
var glatlng = new google.maps.LatLng(parseFloat(latitude), parseFloat(longitude));
var gmarker = new google.maps.Marker({
position: glatlng
});
if(icon)
{
marker_icon = new google.maps.MarkerImage(icon.image);
marker_icon.size = new google.maps.Size(icon.iconsize[0], icon.iconsize[1]);
marker_icon.anchor = new google.maps.Point(icon.iconanchor[0], icon.iconanchor[1]);
gmarker.setIcon(marker_icon);
if(icon.shadow)
{
marker_shadow = new google.maps.MarkerImage(icon.shadow);
marker_shadow.size = new google.maps.Size(icon.shadowsize[0], icon.shadowsize[1]);
marker_shadow.anchor = new google.maps.Point(icon.shadowanchor[0], icon.shadowanchor[1]);
gicon.setShadow(marker_shadow);
}
}else{
gmarker.setIcon(gicon.getIcon());
gmarker.setShadow(gicon.getShadow());
}
if(content)
{
if(content === '_latlng') {
content = latitude + ', ' + longitude;
}
var infowindow = new google.maps.InfoWindow({
content: opts.html_prepend + content + opts.html_append
});
google.maps.event.addListener(gmarker, 'click', function()
{
if (last_infowindow) {
last_infowindow.close();
}
infowindow.open($gmap, gmarker);
last_infowindow = infowindow;
});
if(popup)
{
google.maps.event.addListenerOnce($gmap, 'tilesloaded', function()
{
infowindow.open($gmap, gmarker);
});
}
}
gmarker.setMap($gmap);
overlays.push(gmarker);
});
var marker;
var self = this;
var geocode_callback = function(marker) {
return function(gresult, status) {
// Create marker
if(gresult && gresult.length > 0)
{
$(self).trigger(
'gMap.addMarker',
[gresult[0].geometry.location.lat(), gresult[0].geometry.location.lng(), marker.html, marker.icon, marker.popup]
);
}
};
};
// Loop through marker array
for (var j = 0; j < opts.markers.length; j++)
{
// Get the options from current marker
marker = opts.markers[j];
// Check if address is available
if (marker.address)
{
// Check for reference to the marker's address
if (marker.html === '_address') {
marker.html = marker.address;
}
// Get the point for given address
$geocoder.geocode({
address: marker.address
}, geocode_callback(marker));
}else{
$(this).trigger('gMap.addMarker', [marker.latitude, marker.longitude, marker.html, marker.icon, marker.popup]);
}
}
});
};
// Default settings
$.fn.gMap.defaults = {
address: '',
latitude: 0,
longitude: 0,
zoom: 1,
markers: [],
controls: [],
scrollwheel: false,
doubleclickzoom: true,
maptype: 'ROADMAP',
html_prepend: '<div class="gmap_marker">',
html_append: '</div>',
icon: {
image: "http://www.google.com/mapfiles/marker.png",
shadow: "http://www.google.com/mapfiles/shadow50.png",
iconsize: [20, 34],
shadowsize: [37, 34],
iconanchor: [9, 34],
shadowanchor: [6, 34]
}
};
})(jQuery);
/**
*jQuery gMap-谷歌地图API V3
*
*/
/*全球谷歌*/
(函数($)
{
//主插件功能
$.fn.gMap=函数(选项、方法和选项)
{
//可选方法
开关(选项)
{
案例“addMarker”:
返回$(this).trigger(
“gMap.addMarker”,
[方法选项。纬度,方法选项。经度,
方法\u options.content、方法\u options.icon、方法\u options.popup]
);
案例“centerAt”:
返回$(this).trigger('gMap.centerAt',[methods\u options.latitude,
方法_options.longitude,方法_options.zoom]);
“clearMarkers”案例:
返回$(this.trigger('gMap.clearMarkers');
}
//在元素迭代之前构建主选项
var opts=$.extend({},$.fn.gMap.defaults,options);
//遍历每个元素
返回此值。每个(函数()
{
//创建地图并设置初始选项
var$gmap=new google.maps.Map(这个);
$(this).data('gMap.reference',$gMap);
//创建新对象以对地址进行地理编码
var$geocoder=new google.maps.geocoder();
//检查中心的地址
如果(选择地址)
{
//获取给定地址的坐标并将地图居中
$geocoder.geocode(
{
地址:opts.address
},功能(gresult,状态)
{
if(gresult&&gresult.length){
$gmap.setCenter(gresult[0].geometry.location);
}
}
);
}否则{
//检查要居中的坐标
if(选择纬度和选择经度)
{
//根据选项指定的坐标将地图居中
$gmap.setCenter(新的google.maps.LatLng(选择纬度),
选择经度);
}
其他的
{
//检查要居中的标记(如果未给出坐标)
if($.isArray(opts.markers)&&opts.markers.length>0)
{
//检查标记是否有地址
if(选择标记[0]。地址)
{
//获取给定标记地址和中心的坐标
$geocoder.geocode(
{
地址:opts.markers[0]。地址
},功能(gresult,状态)
{
如果(gresult&&gresult.length>0){
$gmap.setCenter(gresult[0].geometry.location);
}
}
);
}否则{
//将地图居中到标记给出的坐标
$gmap.设置中心(新)
google.maps.LatLng(opts.markers[0]。纬度,opts.markers[0]。经度);
}
}否则{
//回到世界观
$gmap.setCenter(新的google.maps.LatLng(34.885931,9.84375));
}
}
}
$gmap.setZoom(选择缩放);
//设置首选的贴图类型
$gmap.setMapTypeId(google.maps.MapTypeId[opts.maptype]);
//设置滚轮选项
var map_options={scrollwheel:opts.scrollwheel,
禁用doubleclickzoom:!opts.doubleclickzoom};
//检查地图控件
如果(opts.controls===false){
$.extend(映射_选项,{disableDefaultUI:true});
}else if(opts.controls.length!==0){
$.extend(map_选项,opts.controls,{disableDefaultUI:true});
}
$gmap.setOptions(地图选项);
//创建新图标
var gicon=new google.maps.Marker();
var标记图标;
var标记和U形阴影;
//从全局选项设置图标属性
marker_icon=new google.maps.MarkerImage(opts.icon.image);
marker_icon.size=new google.maps.size(opts.icon.iconsize[0],opts.icon.iconsize[1]);
marker_icon.anchor=new google.maps.Point(opts.icon.iconanchor[0],opts.icon.iconanchor[1]);
gicon.设置图标(标记图标);
如果(选择图标阴影)
{
marker\u shadow=new google.maps.MarkerImage(opts.icon.shadow);
marker_shadow.size=new google.maps.size(opts.icon.shadowsize[0],opts.icon.shadowsize[1]);
marker_shadow.anchor=new google.maps.Point(opts.icon.shadowanchor[0],opts.icon.shadowanchor[1]);
gicon.设置阴影(标记阴影);
}
//约束动作
$(this.bind('gMap.centerAt',函数(e、纬度、经度、缩放)
{
如果(缩放){
$gmap.setZoom(缩放);
}
$gmap.panTo(新的google.maps.LatLng(parseFloat(纬度),parseFloat(经度));
});
//清晰标记
var覆盖=[];
$(this.bind('gMap.clearMarkers',function()
{
while(覆盖[0]){
overlays.pop().setMap(null);
}
});
var last_信息窗口;
$(this.bind('gMap.addMarker',函数(e、纬度、经度、内容、图标、弹出窗口)
{
var标记图标;
var标记和U形阴影;
var glatlng=new google.maps.LatLng(parseFloat(纬度),parseFloat(经度));
var gmarker=new google.maps.Marker({
位置:glatlng
});
如果(图标)
{
marker_icon=new google.maps.MarkerImage(icon.image);
marker_icon.size=new google.maps.size(icon.iconsize[0],icon.icons