Javascript 用户注册时在谷歌地图中添加标记

Javascript 用户注册时在谷歌地图中添加标记,javascript,maps,marker,Javascript,Maps,Marker,我想这样做,当用户在我的门户注册时,他们可以向地图添加标记(谷歌地图)。任何人都可以帮我我怎么做 编辑: 我使用的代码: <script> function initialize() { /* Style of the map */ var styles = [ { stylers: [ { hue: "#00ffe6" }, { saturation: -20

我想这样做,当用户在我的门户注册时,他们可以向地图添加标记(谷歌地图)。任何人都可以帮我我怎么做


编辑:

我使用的代码:

 <script>
function initialize() {

        /* Style of the map */
        var styles = [
        {
          stylers: [
            { hue: "#00ffe6" },
            { saturation: -20 }
          ]
        },{
          featureType: "road",
          elementType: "geometry",
          stylers: [
            { lightness: 100 },
            { visibility: "simplified" }
          ]
        },{
          featureType: "road",
          elementType: "labels",
          stylers: [
            { visibility: "off" }
          ]
        },{
             featureType: "poi",
             elementType: "labels",
             stylers: [
               { visibility: "off" }
             ]
           }

         ];


      // Create a new StyledMapType object, passing it the array of styles,
      // as well as the name to be displayed on the map type control.
      var styledMap = new google.maps.StyledMapType(styles, {name: "Semini"});

      /* Lat. and Lon. of the center of the map */

      var myCenter = new google.maps.LatLng(45.8330653, 9.8506751,11);

      // Create a map object, and include the MapTypeId to add
      // to the map type control.
      var mq = window.matchMedia( "(max-width: 720px)" );

    if (mq.matches){
 var mapOptions = {
        zoom: 9,                //zoom level
        center: myCenter,       //center position
        scrollwheel: false,     //zoom when scroll disable
        zoomControl: true,      //show control zoom

        mapTypeControlOptions: {
          mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'map_style'] 
        }

      };

  } else {
 var mapOptions = {
        zoom: 10,               //zoom level
        center: myCenter,       //center position
        scrollwheel: false,     //zoom when scroll disable
        zoomControl: true,      //show control zoom

        mapTypeControlOptions: {
          mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'map_style'] 
        }

      };
};

 var map = new google.maps.Map(document.getElementById('map-                 canvas'),mapOptions);

      //Associate the Semini with the MapTypeId and set it to display.
      map.mapTypes.set('map_style', styledMap);
      map.setMapTypeId('map_style');


     /* Marker example for stack */
      var contentString3 = 
          '<div class="popup">'+
          '<h2 id="example">City</h2>'+
                      '<a  href="/main.php?page=city">'+
          'VISIT</a> '+
          '</div>';

      var infowindow3 = new google.maps.InfoWindow({
          content: contentString3,
          maxWidth: 230,
          maxHeight: 300,

      });

      var image1 = 'mappa/food.png';
      var myLatLng3 = new google.maps.LatLng(45.87901, 10.17745);
      var marker3 = new google.maps.Marker({
          position: myLatLng3,
          map: map,
          icon: image1
      });

      google.maps.event.addListener(marker3, 'click', function() {
        infowindow3.open(map,marker3);
      });




       /* open popup marker when map is load */
      new google.maps.event.trigger( marker, 'click' );         

  }

 google.maps.event.addDomListener(window, 'load', initialize);
  </script>

函数初始化(){
/*地图样式*/
变量样式=[
{
样式:[
{hue:#00ffe6},
{饱和度:-20}
]
},{
特色类型:“道路”,
elementType:“几何体”,
样式:[
{亮度:100},
{可见性:“简化”}
]
},{
特色类型:“道路”,
elementType:“标签”,
样式:[
{可见性:“关闭”}
]
},{
特征类型:“poi”,
elementType:“标签”,
样式:[
{可见性:“关闭”}
]
}
];
//创建一个新的StyledMapType对象,将样式数组传递给它,
//以及要显示在地图类型控件上的名称。
var styledMap=new google.maps.StyledMapType(样式,{name:“Semini”});
/*地图中心的纬度和经度*/
var myCenter=new google.maps.LatLng(45.8330653,9.8506751,11);
//创建地图对象,并包括要添加的MapTypeId
//到映射类型控件。
var mq=window.matchMedia((最大宽度:720px));
if(mq.matches){
变量映射选项={
缩放:9,//缩放级别
中心:myCenter,//中心位置
滚轮:false,//禁用滚动时缩放
zoomControl:true,//显示控件缩放
mapTypeControlOptions:{
MapTypeId:[google.maps.MapTypeId.ROADMAP,'map_style']
}
};
}否则{
变量映射选项={
缩放:10,//缩放级别
中心:myCenter,//中心位置
滚轮:false,//禁用滚动时缩放
zoomControl:true,//显示控件缩放
mapTypeControlOptions:{
MapTypeId:[google.maps.MapTypeId.ROADMAP,'map_style']
}
};
};
var map=new google.maps.map(document.getElementById('map-canvas'),mapOptions);
//将Semini与MapTypeId关联,并将其设置为显示。
map.mapTypes.set('map\u style',styledMap);
setMapTypeId('map_style');
/*堆栈的标记示例*/
var contentString3=
''+
“城市”+
' '+
'';
var infowindow3=新建google.maps.InfoWindow({
内容:contentString3,
最大宽度:230,
最大高度:300,
});
var image1='mappa/food.png';
var mylatng3=新的google.maps.LatLng(45.87901,10.17745);
var marker3=新的google.maps.Marker({
职位:myLatLng3,
地图:地图,
图标:image1
});
google.maps.event.addListener(marker3,'click',function(){
信息窗口3.打开(地图、标记3);
});
/*加载地图时打开弹出标记*/
新的google.maps.event.trigger(标记“click”);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
在该脚本中,我添加了静态标记,好吗?但门户的用户在注册时如何在代码中添加标记?所以,横向和纵向是由XXX标记的

就像这样:

为了在gmap中使用标记,您应该首先获得要放置标记的位置坐标。确保您的地图是全局的,以便以后可以在动态添加另一个标记时参考它

下面给出了在地图中使用标记的简单示例

//specify your Html element Id value here where you want to show the map
var mapPosition=document.getElementById('myMap');

//Make sure map is global so that another marker can be added to the map later
 map = new google.maps.Map(mapPosition, {
      zoom: 4,
      center: myPosition
    });

// specify your coordinates
var myPosition={lat: -25.363, lng: 131.044};

var markerOptions={position: myPosition, map: map, title: 'some text'};

// putting a marker in the specified position in the map
var marker = new google.maps.Marker(markerOptions);
如果您想动态添加另一个标记,请单击按钮。您可以这样做

//assuming this function gets called on some button click
function onButtonClick()
{
   //create your maker here
   var anotherPosition={lat: -29.363, lng: 150.044};
   var newMarkerOptions={position: anotherPosition, map: map, title: 'some text'};
   var newMarker = new google.maps.Marker(newMarkerOptions);
}

为了在gmap中使用标记,您应该首先获得要放置标记的位置坐标。确保您的地图是全局的,以便以后可以参考它动态添加另一个标记

下面给出了在地图中使用标记的简单示例

//specify your Html element Id value here where you want to show the map
var mapPosition=document.getElementById('myMap');

//Make sure map is global so that another marker can be added to the map later
 map = new google.maps.Map(mapPosition, {
      zoom: 4,
      center: myPosition
    });

// specify your coordinates
var myPosition={lat: -25.363, lng: 131.044};

var markerOptions={position: myPosition, map: map, title: 'some text'};

// putting a marker in the specified position in the map
var marker = new google.maps.Marker(markerOptions);
如果您想动态添加另一个标记,请单击按钮。您可以这样做

//assuming this function gets called on some button click
function onButtonClick()
{
   //create your maker here
   var anotherPosition={lat: -29.363, lng: 150.044};
   var newMarkerOptions={position: anotherPosition, map: map, title: 'some text'};
   var newMarker = new google.maps.Marker(newMarkerOptions);
}

使用此链接参考@KiranMuralee我有地图,但我不知道用户如何添加动态标记我已经回答了您的问题,请告诉我您是否正试图这样做。使用此链接参考@KiranMuralee我有地图,但我不知道用户如何添加动态标记我已经回答了您的问题,请让我知道您是否正在尝试这样做。在功能中,单击“lat”和“lng”是静态的,用户如何在地图中或使用地址“lat”和“long”进行选择?抱歉,我的英语不太好^^请尝试GTRAlate:当用户注册时,我希望您可以选择在地图上放置标记的位置。例如:如果公司“X”选择纽约市,则该城市将在纽约地图上以其名称显示为一个标记。用户注册后,他们可以选择该城市,并将其作为标记添加到地图中。选择城市后尝试此操作,以获取该城市的位置坐标。如果您在gmap中使用place auto complete,您可以选择城市并轻松获得gps坐标。一旦获得gps坐标,您就可以利用它创建标记。注册后,不必再注册。你能给我解释一下代码吗?在函数onbottunclick lat and lng是静态的,用户如何在地图中选择或使用地址lat and long?对不起,我没有收到你的信息。用我的英语^try with gtraslate:当用户注册时,我希望你能选择在地图上放置标记的位置。例如:如果公司“X”选择纽约市,则该城市将在纽约地图上以其名称显示为一个标记。用户注册后,他们可以选择该城市,并将其作为标记添加到地图中。选择城市后尝试此操作,以获取该城市的位置坐标。如果您在gmap中使用place auto complete,你可以选择城市并轻松获得gps坐标