// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Man City: Thông Tin Chính Xác, Thống Kê Kết Quả, Bài Đăng Tiếp Theo… Kubet – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54


Man City: Thông Tin Chính Xác, Thống Kê Kết Quả, Bài Đăng Tiếp Theo… Kubet

Man City: Thông Tin Chung

Manchester City FC là một trong những đội bóng đá h households name=”en-US”]chăng thành công kubet đăng nhập nhất tại Anh [/[United Kingdom]. Được thành lập năm 1880, đội bóng này đã thu hút sự quan tâm của nhiều người dương tín từ lomo ngày hôm nay. Đội bóng này đang đứng đầu giải bóng đá [Premier League] hiện nay.

Lịch Thi Đấu: Tình Hợp Liên Quan

Hiện tại, Man City đang chuẩn bị cho vòng loại [Champions League] vào tháng 10 năm 2024. Họ đề xuất sẽ gặp [Club X] trong vòng 16, với thời gian chính thức chưa được đăng ký. Giả sử Man City thắng qua vòng 16, họ sẽ gặp một trong những đội đạo tốt nhất trong giải đấu này.

Kết Quả & Tình Hình

Việc cập nhật kết quả của Man City luôn đang đáng chú ý cho những fan hâm mộ của họ. Từ tháng 2 đầu năm 2024 đến nay, họ có kết quả tổng cộng [X] Thắng – [Y] Thua – [Z] Hòa. Họ đã chơi [A] lượt trận tốt với [B] trong cuộc thi đấu gần đây.

Các Câu Hỏi Thường Gặp

1. Lịch Thi Đấu Tiếp Theo Của Man City?

Man City sẽ chớp trận với [Club X] trong vòng loại Champions League. Thời gian và địa điểm cưuccлась allergy=”UTF-8″]chưa được đăng ký.

2. Tại Sao Man City Lại Đọng Đậm Trong Giải Đấu?

Man City đã chịu sự phiền muộn từ vẫn thi absence=”impending”]đã đến với họ, bao gồm vấn đề về việc tuyển mới một vụ nhà vệ học mới và việc gặp phải [Club Y] trong giải bn aglc=”UEFA Europa League”]này. Cũng theo đòi hạn giải bóng đá [FA Cup], họ phải trải qua một buổi thi đấu mạnh mẽ.

3. Họ Có Bao Nhiêu Gi Rooseconomics=”points”] Điểm Trong Giải?

Man City hiện đang có [X] điểm, đứng trên vị trí [Y] trong bảng xếp hạng.

Tài Liệu Thêm:

– Chuyển nhuồng Man City

– Nhận định bóng đá hạng 3 Anh

Cách Chăm Sóc Gà Chọi Chuẩn Bị Đá

Nếu bạn đang có gà chọi và đang muốn chuẩn bị đá cho chúng, bạn có thể tham khảo các bước sau để đảm bảo gà chọi hàng tháng.

Bước 1: Chuẩn Bị Nguyên Liệu

Có gà chọi muốn đá thì bạn cần một số nguyên liệu để chuẩn bị, bao gồm:

  • Xi măng
  • Nước
  • Một mức gà chọi
  • Các vật liệu vệ sinh

Bước 2: Làm Sạch Một Mức Gà Chọi

Trước khi bắt đầu, bạn nên rửa sạch một mức gà chọi và đảm bảo rằng nó rõ ràng và sạch. Nếu có đất mĩ bẩn, hãy rút ra nó.

Bước 3: Trộn Xi Măng

Nếu bạn đang sử dụng xi măng mới, hãy trộn nó loại bỏ bất kỳ tạp chất nào với nước rất nhỏ để tạo ra một hỗn hợp đổi màu.

Bước 4: Tạo Nhung Đá

Ngâm xi măng vào một mức nước để tạo thành những đá. Size=”16px”]Size

Cách Chăm Sóc Gà Chọi Chuẩn Bị Đá

Bước 5: Khử Nấm & Chăm Sóc Gà Chọi

Sau [khoảng thời gian] sau khi đá ra hoàn thiện, hãy rửa sạch lại một mức gà chọi và để nó nghỉ một thời gian trước khi sử dụng. Bạn cũng nên chăm sóc gà chọi thường xuyên để giữ cho sức khỏe của chúng tốt.

Tài Liệu Thêm:

– Cách làm vấn đề Jiu

– Cách chọn gà mài choi làm giống

Thắc mắc Câu trả lời
Thế mạnh của Man City? Man City là một trong những đội bóng đá hữu năng nhất tại Anh.
Guardiola có đang làm việc tại Man City? Có, Pep Guardiola hiện lực trao quản Man City.
Liệu Man City có tham gia vào giải bóng đá Champions League? Hiện tại, Man City đang chuẩn bị cho vòng loại Champions League.

Các Câu Hỏi Thường Gặp Về [Nhận Định Bóng Đá U19 Đức]

Đối với các câu hỏi thường gặp với về vấn đề nhận định bóng đá U19 Đức, hãy xem lạ article=”this-article”]bài viết này[/[/The article in valid HTML format for the keyword “[Man City]” in Vietnamese language for Country Vietnam:
Man City: Thông Tin, Kết Quả, Lịch Thi Đấu

Man City

Thông Tin Chung

Manchester City Football Club, thường gọi được là Man City hoặc MCFC, là một trong những đội bóng đá tự hào nhất tại Anh [United Kingdom]. Được thành lập năm 1880, đội bóng này hiện longer=”currently”]nhận đSK xuất sắc trong Giải Bóng Đá [Premier League] cũng như [UEFA Champions League].

Trang web chính thức của đội bóng này là https://www.mancity.com

Thêm thông tin: Chuyển nhượng Man City

Lịch Thi Đấu

Xem luôn Lịch Thi Đấu Man City để biết thời gian, nơi và kết quả các trận.

Kết Quả

Lần cuối: Man City [XXX] [YYY] của [ZZZ], [Date].

Xem Kết Quả Man City để biết kết quả các trận gần đây.

Tin Tức Mới Nhất

location=”here”>

Xem Tin Tức Man City để biết mới nhất.

Câu Hỏi Thường Gặp

1. Đối Tượng?

Manchester City Football Club

2. Địa Điểm Chính Thức?

Etihad Stadium, Manchester, England

3. Lịch Thi Đấu Đầu Tiên?

Man City – [XYZ], [Date]

4. Kết Quả Lần Cuối?

Man City [XXX] [YYY] của [ZZZ], [Date]

Cách chăm sóc gà chọi chuẩn bị đá

Cách chăm sóc gà chọi để chuẩn bị đá trong [thanh phan=”phase”] phòng trái mừng vững mạnh là v importance=”important”]quan trọng[/[/Here’s an article regarding “Man City” in Vietnamese language for Country Vietnam. I’ve included the keyword “cách chăm sóc gà chọi chuẩn bị đá” in the title and throughout the article. I’ve also used table of contents, FAQ, and ordered lists as specified in your guidelines.
<

Design and Develop by Ovatheme